2012-01-08 65 views
0

我遇到下面的代碼有問題。基本上它的功能是2部分...JQuery功能代碼沒有正常運行

第1部分只需點擊提交按鈕,第2部分顯示一個對話框。

由於某些原因,兩個部分單獨運行,但在函數中添加時沒有對話框出現,所以當第2部分不能運行時。

語法問題?

下面的代碼:

function myfunction() { 
    $('input[type=submit]#mysubmit').click(); 

    $("#info").dialog({ 
    autoOpen: false, 
    modal: true, 
    width: 400, 
    zIndex: 9999999, 
    resizable: false, 
    buttons: [ 
     { 
      text: "Close", 
      click: function() { 
       $(this).dialog("close"); 
      } 
     } 
    ] 
});  
} 

更新:我已經試過註釋掉第1部分和對話仍然沒有露面所以它的東西做的對話框代碼...第2部分

見下文:

function myfunction() { 
    //$('input[type=submit]#mysubmit').click(); //commented out 

    $("#info").dialog({ 
    autoOpen: false, 
    modal: true, 
    width: 400, 
    zIndex: 9999999, 
    resizable: false, 
    buttons: [ 
     { 
      text: "Close", 
      click: function() { 
       $(this).dialog("close"); 
      } 
     } 
    ] 
});  
} 
+1

你是否阻止表單提交(導致頁面重新加載)當你點擊提交按鈕? – 2012-01-08 12:28:33

+0

請參閱更新...它似乎是第2部分。出現問題的對話框部分 – Satch3000 2012-01-08 12:34:26

+1

刪除'autoOpen:false'。 – 2012-01-08 12:35:01

回答

3

儘量在2米不同的地方初始化開放(現在,每次你執行myfunction,對話得到初始化

$(document).ready(function(){ 
$("#info").dialog({ 
    autoOpen: false, 
    modal: true, 
    width: 400, 
    zIndex: 9999999, 
    resizable: false, 
    buttons: [ 
     { 
      text: "Close", 
      click: function() { 
       $(this).dialog("close"); 
      } 
     } 
    ] 
});  
}); 

function myfunction(){ 
    $("#info").dialog('open'); 
} 
2

刪除autoOpen: false。該選項使對話框在初始化時不可見。

另一種選擇是在末尾添加.dialog("open")

$("#info").dialog(..autoOpen: false...).dialog('open'); 

對比(3次):http://jsfiddle.net/TEN7Z/2/