【发布时间】:2016-05-24 23:18:22
【问题描述】:
我正在尝试使用 ajax 验证后提交表单。如果输入字段有效,则在 ajax 返回后,表单应提交否则错误消息。下面是我的html
<form action="new-join.php" method="post" enctype="multipart/form-data" onSubmit="return CheckForm()" id="NewJoinsub">
<!-- my form -->
<button type="submit" class="button btn btn-primary btn-large">Continue</button>
</form>
而ajax是
<script>
function CheckForm(e) {
var checkpin=$("#JoiningPin").val();
$.post("check-pin.php", { checkpin: checkpin },
function(result){
//if the result is 1 submit
if(result == 1){
$('#NewJoinsub').submit()
}else{
var response_not = "<div style='color: #f30;'>Not A Valid Pin or Already Used</div>";
$('#pinCheck').html(response_not);
e.preventDefault();
}
});
}(jQuery);
</script>
我的表单正在正确验证,但如果条件失败,它不会阻止表单提交。我哪里做错了?
【问题讨论】:
-
您可以尝试在您的通话后添加
async:false选项 -
还要确保您的结果实际上是整数而不是 json ( console.log(result) )。由于您使用的是 jquery,因此您也可以在脚本中移动提交事件。
标签: javascript php jquery ajax forms