我有两个不同的脚本,一个是 jquery post for form ,第二个是 jquery表单验证。
我在提交按钮单击操作时运行后脚本,因此它在验证之前生效:/并且我无法在发布脚本之前更改验证运行:(所以现在它表单提交而不验证。
怎么能成功呢?感谢帮助!
JQuery POST代码
$(function() {
$("#btnsend").click(function() {
var dataString = 'fullname='+ escape(document.contact.full_name.value);
$.ajax({
type: "POST",
url: "query.php?act=sendMail",
data: dataString,
success: function() {
$('#contact-form').hide()
.html("<p>thanks!</p>")
.fadeIn(500, function() {$('#contact-form').append("");});
}
});
return false;
});
});
JQuery验证
感谢插件http://bassistance.de/jquery-plugins/jquery-plugin-validation/
<!-- Form Validation -->
<script src="inc/validation/jquery.validate.js" type="text/javascript"></script>
<script src="inc/validation/js/cmxforms.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="inc/validation/css/validation.css" media="screen" />
<script type="text/javascript">
$(document).ready(function() {
$("#commentForm").validate();
});
</script>
表格
<form id="commentForm" name="contact" method="post" action="">
<ul id="contact-form">
<li><label for="full_name">Full Name: *</label><input type="text" name="full_name" id="full_name" class="txt_input required" /></li>
<li class="alignRight"><input type="submit" value="Send" id="btnsend" name="btnsend" class="btn_submit" /></li>
</ul>
</form>
答案 0 :(得分:2)
$("#commentForm").validate( {
submitHandler: function(form) {
// validation success, do something
}
});
在成功函数回调中调用你的ajax提交。
检查:http://docs.jquery.com/Plugins/Validation/validate了解更多信息(我假设我们正在讨论相同的插件)。