Javascript Açılır pencereyi onayla Evet, Tamam yerine Hayır düğmesi ve İptal


113

Javascript Açılır pencereyi onayla, Tamam ve İptal yerine Evet, Hayır düğmesini göstermek istiyorum.

Bu vbscript kodunu kullandım:

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

bu yalnızca IE, FF ve Chrome'da çalışır, çalışmaz.

Javascript'te bunu başarmak için herhangi bir çalışma ortamı var mı?

IE'de olduğu gibi açılır pencerenin başlığını da değiştirmek istiyorum 'Windows Internet Explorer' gösteriliyor, burada kendi uygulama adımı göstermek istiyorum.


Kendi kendime bir evet hayır diyaloğu yaptım, özelleştirmesi gerçekten çok kolay: github.com/stein189/YesNoDialog İsterseniz bunu deneyebilirsiniz
Szenis

Yanıtlar:


88

Ne yazık ki, varsayılan Tamam / İptal çifti olmayan bir onay iletişim kutusunu açmak için çapraz tarayıcı desteği yoktur. Sağladığınız çözüm, yalnızca IE'de bulunan VBScript kullanıyor.

Bunun yerine DOM tabanlı bir iletişim kutusu oluşturabilen bir Javascript kitaplığı kullanmanızı öneririm. Jquery kullanıcı arayüzünü deneyin: http://jqueryui.com/


17

Bunu tarayıcılar arası bir şekilde gerçekleştirmenin tek yolu, jQuery UI gibi bir çerçeve kullanmak ve özel bir İletişim Kutusu oluşturmaktır:

jquery İletişim Kutusu

Yerleşik onaylama açılır penceresiyle tam olarak aynı şekilde çalışmaz, ancak istediğinizi yapabilmeniz gerekir.


4
Açıklık getirmek gerekirse, YALNIZCA yol bu değil - elbette kendi Javascript'te yazabilirsiniz, yapılacak doğru şey bu değil.
LeonardChallis

1
@LeonardChallis, ancak yalnızca modal div işlevselliği için büyük bir kitaplık eklemek daha mı iyidir? Sanmıyorum
nicholaswmin

8

Ayrıca http://projectshadowlight.org/jquery-easy-confirm-dialog/ da kullanabilirsiniz . Çok basit ve kullanımı kolaydır. Sadece jquery ortak kitaplığını ve yalnızca bir dosya daha ekleyin:

<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>

4

Bu çapraz tarayıcıyı, confirm () işlevi veya benzeri bir şeyle yapamazsınız. Bunun yerine bir HTML iletişim kutusu oluşturmak için jQuery UI iletişim özelliği gibi bir şey kullanmanızı şiddetle tavsiye ederim .



3

Kullanabileceğiniz özellikli (ancak küçük ve basit) kitaplık JSDialog'dur: js.plus/products/jsdialog

Evet ve Hayır düğmeleriyle bir iletişim kutusu oluşturmak için bir örnek:

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"
);

JS Dialog demo ekran görüntüsü


1
Hey, bunu nereye yüklüyorsun?
Gary

@Gary Bağlantıları, onlarca yıldır mavi, altı çizili metne varsayılan olarak ayarlanmıştır. Farenizi kullanarak bu cevabın ilk satırındaki mavi metnin üzerine gelin ve sol düğmeyi tıklayın.
Terkedilmiş Sepet

premium eklentiler bir programcıya yardımcı olmaz
Chris Pink

1

sweetalert kullanabilirsiniz.

HTML'nize aktarın:

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

ve uyarıyı tetiklemek için:

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'
    )
  }
})

daha fazla veri için sweetalert uyarı web sitesini ziyaret edin


0

1) Aşağıdaki dosyaları sitenize indirebilir ve yükleyebilirsiniz

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

2) bundan sonra doğrudan aşağıdaki kodu kullanabilirsiniz

$ .alerts.okButton = "evet"; $ .alerts.cancelButton = "hayır";

document.ready işlevinde.

Lütfen deneyin işe yarayacak.

Teşekkürler


-11

bu noktaya en özel cevap, diyalogu onaylamaktır Js Fonksiyonu:

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

Tamam iptal düğmeleriyle diyalog kutusunu gösterir, bu düğmeyi evet hayır ile değiştirmek o kadar basit bir iş değildir, çünkü jQuery işlevini yazmanız gerekir.


1
Evet ve Hayır istedi. Bu onay yalnızca bir onay veya iptal verir. Bu yüzden bu reddediliyor.
SpoiledTechie.com
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.