我有一个html表单和一些验证表单的jQuery。如果所有的验证通过,我想提交表格。当我按下但是提交,邮件出现的错误(如果有错误),当没有错误信息,提交按钮那种小摊,我得到一个错误当没有错误存在时jQuery表单不提交
不响应的脚本错误
我在firefox和safari中都得到了相同的结果。
的jQuery(错误的div是所有错误的出现):
$("#joinForm").on("submit", function (e) {
e.preventDefault();
if (!$(':text').val() || !$(':password').val()){
$('#fillIn').remove();
$('#errors').append("<p id='fillIn'>Please fill in all fields</p>");
}
else {
$('#fillIn').remove();
}
if ($('#email').val()!= $('#reemail').val()){
$('#noMatch').remove();
$('#errors').append("<p id='noMatch'>Emails do not match</p>");
}
else{
$('#noMatch').remove();
}
if ($('#email').val() == $('#reemail').val() && $(':text').val() && $(':password').val()){
$('#joinForm').submit();
}
else{
$('#errorModal').modal('show');
}
});
});
HTML:
<form method='POST' action='join_action.php' id='joinForm'>
<table>
<tr>
<td>Full Name: </td><td><input type='text' name='name'></input></td>
</tr>
<tr>
<td>Email: </td><td><input type='text' name='email' id='email'></input></td>
</tr>
<tr>
<td>Re-type Email: </td><td><input type='text' name='reemail' id='reemail'></input></td>
</tr>
<tr>
<td>New Password: </td><td><input type='password' name='password'></input></td>
</tr>
<tr>
<td><input type='submit' value='Sign Up' name='signup' id='signup'></td>
</tr>
</table>
</form>
这将是simplier使用$('#注册')。on('click'.....',然后调用表单 – arma 2012-01-05 17:10:47
@arma上的提交,但如果用户关闭了JS,我需要表单仍提交 – kirby 2012-01-05 17:12:28
那么if如果你想让你当前的例子工作,把'e.preventDefault();'移到末尾,在那个模态调用之后。 – arma 2012-01-05 17:15:28