2012-02-01 21 views
23

Ben JavaScript aracılığıyla bir onay uyarı kutusu gösteriyorum MS Word gösterdiği gibi' İptal: Onay uyarısı gösteriyor'Evet' 'Hayır' ve 'o

function checked() { 
if (hdnval.toLowerCase() != textbox1.toLowerCase()) { 
    var save = window.confirm('valid') 
    if (save == true) 
    { 
    return true; 
    } 
    else 
    { 
     return false; 
    } 
} 
} 

iki düğme ile: Tamam ve İptal et.

Onay uyarısında üçüncü bir düğme göstermek istiyorum. Üç düğmenin şöyle olmasını istiyorum: MS Word'de gösterildiği gibi 'Evet' 'Hayır' 'İptal'.

+0

Oldukça emin burada birçok seçenek yok. Ayrıca 'Hayır' 'İptal'den nasıl farklı olur? –

+1

@BrianDriscoll: OP muhtemelen "Hayır" için özel mantığı tanımlamak istiyor. Örneğin, kullanıcı "Kapat" ı tıklar: iletişim kutusu "Çalışmanızı ayrılmadan önce kaydetmek ister misiniz?" Evet: kaydet ve kapat, Hayır: kaydetmeden kapat, İptal et: İşi açık bırak. – StriplingWarrior

+0

@Brian Driscoll: StriplingWarrior haklı, Evet anlamına gelir Kaydet, kaydetme ve diğer sekmeye git, anlamına gelir iptal etmeyin ama aynı sayfada kal – Rocky

cevap

37

Bu, yerel javascript iletişim kutusuyla yapılamaz, ancak çok sayıda javascript kitaplığı daha esnek iletişim kutuları içerir. Bunun için jQuery UI's dialog kutusu gibi bir şey kullanabilirsiniz.

bakınız ayrıca çok benzer sorular:

this jsFiddle gösterildiği gibi, bir örnek:

<html><head> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.js"></script> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.js"></script> 
    <link rel="stylesheet" type="text/css" href="/css/normalize.css"> 
    <link rel="stylesheet" type="text/css" href="/css/result-light.css"> 
    <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/themes/base/jquery-ui.css"> 
</head> 
<body> 
    <a class="checked" href="http://www.google.com">Click here</a> 
    <script type="text/javascript"> 

     $(function() { 
      $('.checked').click(function(e) { 
       e.preventDefault(); 
       var dialog = $('<p>Are you sure?</p>').dialog({ 
        buttons: { 
         "Yes": function() {alert('you chose yes');}, 
         "No": function() {alert('you chose no');}, 
         "Cancel": function() { 
          alert('you chose cancel'); 
          dialog.dialog('close'); 
         } 
        } 
       }); 
      }); 
     }); 

    </script> 
</body><html> 
+0

I jquery'de bilgi sahibi olmamanız için lütfen biraz daha demo expl verirsiniz. jquery kullanabileceğimi ve kodumu değiştirebileceğimi göster .. Lütfen – Rocky

+0

@Rocky: Zaman bulursam, bir kod örneği verebilirim, ancak jQuery ve jQuery UI iletişim kutusu için belgeler oldukça açık. Bağlı olduğum tanıtım sayfasının kaynak kodunu kontrol edin. Eğiticileri bulmak için Google'ı kullanın. Bir kaç dakikamın çalışmamda size zaman kazandırmaya çalışıyorum, ama tüm işleri sizin için yapmayacağım. – StriplingWarrior

+0

@ StriplingWarrior: Yardım için biraz yardım ve örnek kod benim için çok yeterli olurdu, biraz fikir edersem yapabileceğim tüm şeyleri dinleyebildim ve cevaplar ve ans için çok teşekkür ederim. – Rocky

16

sen istemiyorsan ayrı bir JS kütüphanesi kullanmak ry sen çek yapmak için iki confirm diyaloglar kullanabilirsiniz, bunun için özel bir denetim oluşturmak için:

if (confirm("Are you sure you want to quit?")) { 
    if (confirm("Save your work before leaving?")) { 
     // code here for save then leave (Yes) 
    } else { 
     //code here for no save but leave (No) 
    } 
} else { 
    //code here for don't leave (Cancel) 
} 
+2

Üç düğmeyi bir kerede göstermek istiyorum – Rocky

İlgili konular