Jquery 如果表单中存在任何验证错误,如何防止AJAX post发送数据?
我正在尝试使用jQueryAjax(使用以下脚本)提交数据,它工作正常,但问题是它提交数据,即使我的表单中存在一些验证错误。我正在使用jQuery验证插件1.7来验证我的表单 所以我的问题是,如果我的表单中存在任何验证错误,是否有任何方法可以阻止AJAX post发送数据 谢谢:)Jquery 如果表单中存在任何验证错误,如何防止AJAX post发送数据?,jquery,jquery-selectors,Jquery,Jquery Selectors,我正在尝试使用jQueryAjax(使用以下脚本)提交数据,它工作正常,但问题是它提交数据,即使我的表单中存在一些验证错误。我正在使用jQuery验证插件1.7来验证我的表单 所以我的问题是,如果我的表单中存在任何验证错误,是否有任何方法可以阻止AJAX post发送数据 谢谢:) $(文档).ready(函数(){//已添加 $(“#提交项目”)。单击(函数(){ var teacherid=$('#teacherid').val(); var salary_amount=$(“#salar
$(文档).ready(函数(){//已添加
$(“#提交项目”)。单击(函数(){
var teacherid=$('#teacherid').val();
var salary_amount=$(“#salary_amount”).val();
$.ajax({
类型:“POST”,
url:“添加教师工资/添加ajax”,
数据:“教师ID=“+teacherid+”&工资金额=“+salary\u amount,
成功:函数(html){
$(“#show”).html(html);
}
});
返回错误
});
}); // 补充
$(文档).ready(函数(){//已添加
$('#myForm').validate();
$(“#提交项目”)。单击(函数(){
var teacherid=$('#teacherid').val();
var salary_amount=$(“#salary_amount”).val();
if($('#myForm').valid()){
$.ajax({
类型:“POST”,
url:“添加教师工资/添加ajax”,
数据:“教师ID=“+teacherid+”&工资金额=“+salary\u amount,
成功:函数(html){
$(“#show”).html(html);
}
});
}
返回错误
});
}); // 补充
将#myForm切换为表单ID。我没有对此进行测试,但它应该足以让您朝着正确的方向前进。这很好:(已编辑)
HTML:
试试看:你能添加一个链接到你使用的验证脚本吗?上面的代码没有任何验证调用。永远不要使用return false;在jQuery中,除非您试图停止事件的立即传播并阻止其默认行为。如果您只是试图阻止事件上的默认操作,请使用event.preventDefault():不确定您使用的是哪个插件,但任何类型的验证脚本都应该返回布尔值以表示存在任何错误。在if语句中使用返回的布尔值来控制何时启动ajax的执行。@ManseUK。嗨,曼苏克。。。这是我正在使用的验证脚本的链接。。。谢谢:)谢谢你的回复。我尝试了你的代码,但这次页面只重新加载,没有提交任何数据作为我的表单操作=“谢谢jlrvpuma”。我试过你的剧本,但还是不走运。。页面只会重新加载。谢谢你的努力,伙计……)真的,我的逻辑错了。这个例子很好:再次非常感谢你。你的逻辑完全正确。。但问题是我没有自己编写表单验证;我正在使用jquery验证插件。因此,我使用的jquery插件所做的工作与脚本中的函数IsValidData()所做的工作相同。。。正在验证表单。。。既然我正在使用jquery验证插件,有没有办法检查表单是否经过验证?谢谢:)我正在使用jQuery验证插件1.9aaahh,xD,那么您必须将“if(IsValidData())”更改为“if($(“#myForm”).validate().form())”。我已经编辑了我以前的答案。这是JQuery验证的最佳答案。非常感谢
<script type="text/javascript">
$(document).ready(function(){ // added
$('#submit_item').click(function(){
var teacherid = $('#teacherid').val();
var salary_amount = $('#salary_amount').val();
$.ajax({
type: "POST",
url: "<?php echo base_url(); ?>addteacher_salary/add_ajax",
data: "teacherid="+teacherid+ "&salary_amount="+ salary_amount,
success: function(html){
$("#show").html(html);
}
});
return false
});
}); // added
</script>
<script type="text/javascript">
$(document).ready(function(){ // added
$('#myForm').validate();
$('#submit_item').click(function(){
var teacherid = $('#teacherid').val();
var salary_amount = $('#salary_amount').val();
if($('#myForm').valid()) {
$.ajax({
type: "POST",
url: "<?php echo base_url(); ?>addteacher_salary/add_ajax",
data: "teacherid="+teacherid+ "&salary_amount="+ salary_amount,
success: function(html){
$("#show").html(html);
}
});
}
return false
});
}); // added
</script>
<form action="index.html" id="myForm" method="post">
<span>Salary: </span>
<input type="text" id="salary_amount" class="required" />
<input type="submit" id="submit_item" Value="Submit" />
</form>
$(document).ready(function(){
$("#submit_item").click(function(e){
e.preventDefault();
if($("#myForm").validate().form())
{
alert('DO AJAX POST');
}
else
{
alert('INVALID DATA');
}
});//submit--click
});//ready