基本上,我有一张表格:
<div id="butt_click">
<p><b>3E. Submit</b></p>
<div id="signup_feedback"></div>
<form action="#" id="signup_form">
<p>Email: <input type="email" id="user_email" /></p>
<input class="sign_up" type="submit" value="Sign up" />
</form>
</div>
这是我的jQuery:
/* for all sign_up buttons */
$('input.sign_up').click(function() {
event.preventDefault();
$(this).attr('value', 'Please wait...');
$(this).attr('disabled', true);
});
$('form#signup_form').submit(function() {
event.preventDefault();
var user_email=$('#user_email').val();
alert(user_email);
$('#signup_feedback').html('Thanks, ' + user_email +'has been signed up.');
});
仅触发了点击事件。表格无法提交。
当我删除整个click()部分时,submit()部分正常工作。
有谁知道哪个部分出了问题?
答案 0 :(得分:4)
答案 1 :(得分:4)
不要这样做。提交按钮上的click
处理程序内部的逻辑应该(几乎在所有情况下)与表单上submit
处理程序内部的逻辑完全相同。
更重要的是,您不必click
提交按钮以提交表单,您只需选中提交按钮并按Enter / return即可完全绕过你的点击处理程序
因此,请完全摆脱click
处理程序,并将所有逻辑放在submit
处理程序中。