2013-10-04 79 views
1

我登錄表單,如下圖所示,jQuery的單擊事件不燒成對話框按鈕

<a href="#" id="loginLink">click Here to Log in</a> 
<div class="formDiv" id="formDiv"> 
<form name="loginForm" id="loginForm" action="#"> 
    <label>Email</label><input type="text" name="email" id="email"><br/> 
    <label>Passw</label><input type="password" name="pwd" id="pwd"><br/> 
    <input type="submit" value="Log in" id="loginbtn" name="loginbtn"> 
</form> 
</div> 

我要提交使用Ajax這種形式的數據,當用戶點擊#loginbtn我做的Ajax相關東西,但麻煩是click事件不發射時點擊#loginbtn,這裏是jsfiddle

回答

3

由於保存對話框的div是動態添加的,因此您不能將click事件綁定到它。將它綁定到某個像document那樣修復的父級。

我編輯了小提琴,它的工作原理:http://jsfiddle.net/WNMfA/2/

+0

它爲我工作,但jQuery驗證正在做你可以看看這個http://jsfiddle.net/WNMfA/3/。 –

+0

你還沒有在小提琴 – Rajesh

+0

http://jsfiddle.net/WNMfA/3/上寫'validate()'函數一次見25行,謝謝 –

1

嘗試點擊綁定事件是這樣的:

$(document).on("click","#loginbtn",function(e){ 
// do stuff 
}) 
0

,或者你可以創建對話框定義中的按鈕在

$("#dialog-form").dialog({ 
    autoOpen: false, 
    height: 300, 
    width: 350, 
    modal: true, 
    buttons: { 
    "Login": function() { 
     alert('test'); 
     $(this).dialog("close"); 
     } 
    }, 
    Cancel: function() { 
     $(this).dialog("close"); 
    } 
    }, 
    close: function() { 
    allFields.val("").removeClass("ui-state-error"); 
    } 
});