在我的index.php页面上,form action属性是‘target.php t.php’。我使用jQuery Valdiate验证表单。
<form action="target.php" method="post" class="contact-validate">
<div>
<div id="sent"></div>
<input type="text" placeholder="Przedstaw się" name="name" id="name" />
<input type="text" placeholder="Miejscowość" name="city" id="city" />
<button type="submit" id="submit">Send form *</button>
</div>
</form>
问题是,经过正确的验证后,操作表单将作为其他页面执行,但我需要在#sent中执行此操作。
这里是jQuery代码
<script>
jQuery('.contact-validate').validate({
rules: {
"name": {
required: true
},
"city": {
required: true
}
},
submitHandler: function(form) {
form.submit();
}
});
</script>
我不知道我需要在“submitHandler”中加上什么
发布于 2015-04-23 12:27:07
如果要在提交表单后保留页面,则不能使用form.submit()
。相反,您可以像这样使用jquery的ajaxSubmit()
函数,
<form action="target.php" id="theform" method="post" class="contact-validate">
<div>
<div id="sent"></div>
<input type="text" placeholder="Przedstaw się" name="name" id="name" />
<input type="text" placeholder="Miejscowość" name="city" id="city" />
<button type="submit" id="submit">Send form *</button>
</div>
</form>
Javascript
<script>
jQuery('.contact-validate').validate({
rules: {
"name": {
required: true
},
"city": {
required: true
}
},
submitHandler: function(form) {
$("#theform").ajaxSubmit({url: 'target.php', type: 'post'});
$("#theform").submit(function(e){ // I think you need to prevent the actual (normal without ajax) form submitting.
e.preventDefault();
});
}
});
</script>
发布于 2015-04-23 12:46:33
若要防止表单提交,可以使用
//(jQuery) prevent default functionality of the button
e.preventDefault();
或
//(javascript) return from the method so it does not submit.
return false;
我不太确定以后的那个。你一试就告诉我。
干杯!!
https://stackoverflow.com/questions/29823289
复制相似问题