2017-09-20 9 views
0

確認ダイアログボックスには、3つのボタンok, cancel and closeがあります。私はOKとCancelボタンでは異なるアクションを実行したいが、ダイアログボックスを閉じるには何もしない。どうすればjavascriptを使ってこれを実現できますか?確認のダイアログボックスでOK、キャンセル、閉じるボタンによって異なるコードを実行しますか?

+0

を必要とすることは、本当にOKまたはキャンセルのみ(キャンセルは、キャンセルとしてカウントされます):https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm、私はあなたがcloのキャンセル機能効果的にダイアログをキャンセルしているようにボックスを歌います – Pete

+0

確認ダイアログには2つのボタンしかありません:okとキャンセル。例えば確認する( "ボタンを押す!"); –

+0

ええ、事実を考えてみて、私はOKを押したときに「OK」を、キャンセルをクリックしたときに「CANCEL」を、そしてダイアログボックスを閉じるときには何も印刷しないことが私の必要条件です。キャンセルまたは閉じたウィンドウを押すと、どちらの場合でも「CANCLE」と表示されます。 – ppmakeitcount

答えて

1

これはできませんが、代わりにJQuery-Uiダイアログを使用できます。

この例で、 'OK' と 'キャンセル' の唯一のアクションをモーダルに近い行動を無視:

$("#dialog-confirm").dialog({ 
     modal: true, 
     buttons: { 
     "Ok": function() { // On Ok click 
      $(this).dialog("close"); 
     }, 
     "Cancel": function() { // On Cancel click 
      $(this).dialog("close"); 
     } 
     } 
}); 
+0

ありがとうございますが、私はJavaScriptを使用するための制限があります。 – ppmakeitcount

+0

だから、選択肢はありません。あなた自身のダイアログを作る... – GGO

0

あなたはjquery.uiダイアログ

を介して行うことができますあなたもjquery-ui.min.js

ConfirmDialog('confirm dialog'); 

function ConfirmDialog(message){ 
$('<div></div>').appendTo('body') 
     .html('<div><h6>'+message+'?</h6></div>') 
     .dialog({ 
      modal: true, 
      title: 'cancel click message', 
      zIndex: 10000, 
      autoOpen: true width: 'auto', 
      resizable: false, 
      buttons: { 
         Yes: function() { 
          $('body').append('<h1>Confirm Dialog Result: <i>Yes</i></h1>'); 
          $(this).dialog("close"); 
         }, 
         No: function() {                
          $('body').append('<h1>Confirm Dialog Result: <i>No</i></h1>');        
          $(this).dialog("close"); 
         } 
        }, 
        close: function (event, ui) {              
         alert('close'); 
         $(this).remove(); 
        } 
       }); 
}; 
関連する問題