2010-06-19 97 views
1

感謝您的期待。jquery提交功能不工作

我有一個問題,我似乎無法得到提交函數工作。

如果需要,加載登錄表單。

login_box_comment = function(){ 
$("body").append('<div id="login_form_modal" style="display:none">'+ 
'<div id="status" align="left">'+ 
'<center><h1><img src="/ext/login/img/key.png" align="absmiddle">&nbsp;LOGIN</h1>'+ 
'<div id="login_response"><!-- spanner --></div> </center>'+ 
'<form id="login" action="javascript:alert(\"success!\");">'+ 
'<input type="hidden" name="action" value="user_login">'+ 
'<input type="hidden" name="module" value="login">'+ 
'<label>Username</label><input type="text" name="user"><br />'+ 
'<label>Password</label><input type="password" name="password"><br />'+ 
'<input type="checkbox" name="autologin" id="autologin" value="1">Log me on automatically each visit<br />'+ 
'<input type="checkbox" name="viewonline" id="viewonline" value="0">Hide my online status this session<br />'+ 
'<label><a href="/forum/ucp.php?mode=register">Register</a> | </label><input value="Login" name="Login" id="submit" class="big" type="submit" />'+ 
'<div id="ajax_loading">'+ 
'<img align="absmiddle" src="/ext/login/img/spinner.gif">&nbsp;Processing...'+ 
'</div>'+ 
'</form>'+ 
'</div>'+ 
'</div>'); 

$('#login_form_modal').modal(); 
} 

和部份提交功能

$("#status > form").submit(function(){ 
alert('working'); 
}): 
+0

究竟是什麼「不起作用」? – Eimantas 2010-06-19 09:48:30

+0

當我按提交它應該顯示警報:工作 – jay 2010-06-19 09:51:08

回答

1

您需要連接submit處理器只有形式已經被添加到DOM。所以,你需要首先確認login_box_comment函數被調用,然後才附加的事件,因爲如果窗體不存在DOM中jQuery將不會做任何事情:

login_box_comment(); 
$('#status > form').submit(function() { 
    alert('working'); 
}); 

或只需連接submit處理程序裏面的login_box_comment功能:

login_box_comment = function() { 
    $('body').append('.......'); 
    $('#status > form').submit(function() { 
     alert('working'); 
    }); 
    $('#login_form_modal').modal(); 
}; 
+0

即時通訊真的很新,所以即時通訊要研究「添加元素到DOM」 – jay 2010-06-19 09:57:43

+0

任何機會的例子如何做到這一點? – jay 2010-06-19 10:02:46

+0

看看我的第二個代碼片段。您將'.append'元素添加到DOM,然後將事件處理程序附加到它們('.submit')。 – 2010-06-19 10:10:10