2010-06-19 216 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