2013-09-23 16 views
1

我正在將表單徹底的Ajax加載到jQuery對話窗口,但是當我在提交按鈕上附加點擊事件時,我無法防止默認提交表單。我希望表單在用戶單擊附加表單提交按鈕並且對話框沒有關閉時不要提交。我遇到的問題是,我無法使用jquery選擇此按鈕,但腳本函數在Firebug中運行並且對話框已經打開。 該表格是在類admin.php中daynamincally創建的 注意:窗體在對話框窗口中正確加載,所以Ajax很好,但我不能選擇並將單擊事件附加到表單頂點按鈕,我不想使用對話框按鈕。我希望表單按預期工作。然後,如果表單處於普通網頁但不在對話框中,我可以阻止提交按鈕動作 請幫助我編程時使用新的 這是admin.php中的代碼,通過Jquery ajax在點擊鏈接時加載無法防止在JQuery UI對話框上追加表單按鈕的默認動作

<form action="process.php" method="post" id="edit_form"> 
<input type="submit" name="event_submit" value="Create" /> 
<a href="./">cancel</a> 
</fieldset> 
</form> 

我也不能阻止取消鏈接點擊時的默認動作。 這是jQuery代碼加載admin.php的

這是爲了防止形式的默認操作提交按鈕從功能

$("#edit_form input[type=submit]").on("click",function(event){ 
     event.preventDefault();   
     alert('You clicked a button'); 
    }); 

回答

3

您需要使用事件代表團,以確保按鈕事件的代碼

$(document).on("click","#edit_form input[type=submit]", function(event){ 
     event.preventDefault();   
     alert('You clicked a button'); 
    }); 

看看這解釋了非常詳細的概念.on文件:由jQuery UI的動態創建時,它必然。

+0

嘿謝謝你這個人是除了Mozilla的其他所有瀏覽器的工作,但是這是我用它觀察... – Joecoder001

0

試試這個:

$(document).on("click", "#edit_form input[type=submit]",function(event){ 
    event.preventDefault();   
    alert('You clicked a button'); 
}); 
+0

感謝您的回覆一個問題,但這個不起作用嘗試它,當我按一下按鈕 – Joecoder001

0

嘗試delegate

追加DOM對象也有事件。

$(body).delegate("#edit_form input[type=submit]","click",function(event) 
{ 
     event.preventDefault();   
     alert('You clicked a button'); 
}); 
+0

感謝您的回覆,但這不起作用當我點擊按鈕時嘗試 – Joecoder001