2015-04-03 29 views
0

JqueryUI對話框有一個奇怪的問題。此代碼在輸入名稱爲「submit」的情況下不起作用。它適用於所有其他輸入名稱(例如:submit2)。有人知道爲什麼以及如何解決這個問題,因爲我不能爲不同的原因改變輸入名稱? Jquery腳本有問題,我沒有找到。JqueryUI對話框不能使用特定的輸入名稱

<form action="?" method="get" class="alert2"> 
    <input name="test" type="text" value="dataaaa" /> 
    <input name="submit" type="submit" value="RECORD" /> 
</form> 


$(function() { 
    var confirmdialog = $('<div id="dialog"></div>').appendTo('body'); 
    $("#dialog").dialog({ 
     modal: true, 
     bgiframe: true, 
     width: 300, 
     height: 200, 
     autoOpen: false, 
     title: 'Confirm' 
    }); 
    $('form.alert2 input[type=submit]').click(function (theINPUT) { 
     theINPUT.preventDefault(); 
     var theFORM = $(theINPUT.target).closest("form"); 
     $('#dialog').html('<P>confirm ?</P>'); 
     $("#dialog").dialog('option', 'buttons', { 
      "Confirm": function() { 
       theFORM.submit(); 
      }, 
       "Cancel": function() { 
       $(this).dialog("close"); 
      } 
     }); 
     $("#dialog").dialog("open"); 
    }); 
}); 
+0

對話框的哪部分不起作用?這裏似乎很好http://jsfiddle.net/j08691/82x9j3qs/ – j08691 2015-04-03 13:19:04

回答

0

Click事件處理按鈕類型的元素。當元素類型保持爲「提交」時,點擊事件將無法產生預期的輸出。

你可以試試關注嗎?

<form action="?" method="get" class="alert2"> 
     <input name="test" type="text" value="dataaaa" /> 
     <input name="submit" type="button" value="RECORD" /> 
    </form> 

$(function(){ 
     var confirmdialog = $('<div id="dialog"></div>').appendTo('body'); 
$("#dialog").dialog({ 
    modal: true, 
    bgiframe: true, 
    width: 300, 
    height: 200, 
    autoOpen: false, 
    title: 'Confirm' 
    }); 

$('form.alert2 input[type=button]').click(function(theINPUT){ 
    theINPUT.preventDefault(); 
    var theFORM = $(theINPUT.target).closest("form"); 
    $('#dialog').html('<P>confirm ?</P>'); 
    $("#dialog").dialog('option', 'buttons', { 
      "Confirm" : function() { 
       theFORM.submit(); 
       }, 
      "Cancel" : function() { 
       $(this).dialog("close"); 
       } 
      }); 
    $("#dialog").dialog("open"); 
}); 
    }); 
+0

感謝您的回答,但它不起作用。 我需要保留此代碼 bob 2015-04-03 13:49:30

+0

您是否安裝了螢火蟲 - https://addons.mozilla.org/en-Us/firefox/addon/firebug /?如果有任何錯誤,它會在Console> Errors部分顯示錯誤。你可以檢查它,並更新你的問題與你得到的錯誤?正如j08691用戶所評論的,您的代碼正在jsfiddle上工作。 jsfiddle.net/j08691/82x9j3qs – 2015-04-06 05:06:19

+0

表單未提交。我不明白爲什麼。在Firebug中沒有錯誤。如果我改變輸入按鈕的名稱,它的作品。 – bob 2015-04-08 06:46:13