Javascript Konfirmasi popup Ya, Tidak tombol alih-alih OK dan Batal

113

Javascript Konfirmasi popup, saya ingin menampilkan tombol Ya, Tidak daripada OK dan Batal.

Saya telah menggunakan kode vbscript ini:

<script language="javascript">
    function window.confirm(str) {
        execScript('n = msgbox("' + str + '","4132")', "vbscript");
        return (n == 6);
    }
</script>

ini hanya berfungsi di IE, Di FF dan Chrome, ini tidak berfungsi.

Apakah ada lingkungan kerja untuk mencapai ini di Javascript?

Saya juga ingin mengubah judul popup seperti di IE 'Windows Internet Explorer' ditampilkan, saya ingin menunjukkan di sini nama aplikasi saya sendiri.

Muhammad Akhtar
sumber
Saya membuat dialog ya tidak sendiri. Sangat mudah untuk menyesuaikannya: github.com/stein189/YesNoDialog Anda dapat mencoba yang ini jika Anda mau
Szenis

Jawaban:

88

Sayangnya, tidak ada dukungan lintas browser untuk membuka dialog konfirmasi yang bukan pasangan OK / Batal default. Solusi yang Anda berikan menggunakan VBScript, yang hanya tersedia di IE.

Saya akan menyarankan menggunakan perpustakaan Javascript yang dapat membangun dialog berbasis DOM sebagai gantinya. Coba Jquery UI: http://jqueryui.com/

johnvey
sumber
17

Satu-satunya cara Anda dapat melakukannya dengan cara lintas-browser adalah dengan menggunakan kerangka kerja seperti jQuery UI dan membuat Dialog kustom:

jquery Dialog

Ini tidak bekerja dengan cara yang persis sama seperti popup konfirmasi bawaan tetapi Anda harus dapat membuatnya melakukan apa yang Anda inginkan.

Constantinius
sumber
4
Untuk kejelasan, ini bukan SATU-SATUNYA cara - Anda dapat menulis sendiri dalam Javascript, bukan itu akan menjadi hal yang benar untuk dilakukan.
LeonardChallis
1
@LeonardChallis tetapi menyertakan perpustakaan besar hanya untuk fungsi div modal lebih baik? Saya tidak berpikir begitu
nicholaswmin
8

Anda juga dapat menggunakan http://projectshadowlight.org/jquery-easy-confirm-dialog/ . Ini sangat sederhana dan mudah digunakan. Cukup sertakan perpustakaan umum jquery dan satu file lagi saja:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/blitzer/jquery-ui.css" type="text/css" />
<script src="jquery.easy-confirm-dialog.js"></script>
Quan
sumber
4

Anda tidak dapat melakukan ini lintas-browser dengan fungsi confirm () atau serupa. Saya sangat menyarankan Anda menggunakan sesuatu seperti fitur dialog jQuery UI untuk membuat kotak dialog HTML.

cletus
sumber
3

Lihat di http://bootboxjs.com/

Sangat mudah digunakan:

 bootbox.confirm("Are you sure?", function(result) {
  Example.show("Confirm result: "+result);
});
Andzej Maciusovic
sumber
3

Pustaka unggulan (tapi kecil dan sederhana) yang dapat Anda gunakan adalah JSDialog: js.plus/products/jsdialog

Berikut ini contoh untuk membuat dialog dengan tombol Yes dan No:

JSDialog.showConfirmDialog(
    "Save document before it will be closed?\nIf you press `No` all unsaved changes will be lost.",
    function(result) {
        // check result here
    },
    "warning",
    "yes|no|cancel"
);

Tangkapan layar demo JS Dialog

Dan Spirit
sumber
1
Hei, di mana kamu tidak memuat ini?
Gary
Tautan @Gary secara default menggunakan teks bergaris bawah biru selama beberapa dekade. Gunakan mouse Anda untuk mengarahkan kursor ke teks biru di baris pertama jawaban ini dan klik tombol kiri.
Keranjang yang Ditinggalkan
plugin premium tidak membantu programmer
Chris Pink
1

Anda bisa menggunakan sweetalert.

impor ke HTML Anda:

<script src="https://cdn.jsdelivr.net/npm/sweetalert2@8"></script>

dan untuk mengaktifkan peringatan:

Swal.fire({
  title: 'Do you want to do this?',
  text: "You won't be able to revert this!",
  type: 'warning',
  showCancelButton: true,
  confirmButtonColor: '#3085d6',
  cancelButtonColor: '#d33',
  confirmButtonText: 'Yes, Do this!',
  cancelButtonText: 'No'
}).then((result) => {
  if (result.value) {
    Swal.fire(
      'Done!',
      'This has been done.',
      'success'
    )
  }
})

untuk lebih banyak data, kunjungi situs web peringatan sweetalert

Ohad Cohen
sumber
0

1) Anda dapat mengunduh dan mengunggah file di bawah ini ke situs Anda

<link href="/Style%20Library/css/smoothness/jquery.alerts.css" type="text/css" rel="stylesheet"/> 

2) setelah itu Anda dapat langsung menggunakan kode di bawah ini

$ .alerts.okButton = "ya"; $ .alerts.cancelButton = "tidak";

di document.ready function.

Silakan coba itu akan berhasil.

Terima kasih

Reshma bhalekar
sumber
-11

jawaban yang sangat spesifik ke intinya adalah mengkonfirmasi dialog Js Fungsi:

confirm('Do you really want to do so');

Ini menunjukkan kotak dialog dengan tombol ok batal, untuk mengganti tombol ini dengan ya tidak bukanlah tugas yang sederhana, untuk itu Anda perlu menulis fungsi jQuery.

Ibrahim Khan
sumber
1
Dia menginginkan Ya dan Tidak. Konfirmasi ini hanya memberikan oke atau batal. Itulah mengapa ini ditolak.
SpoiledTechie.com