通过ajax函数调用验证

时间:2012-05-18 22:45:48

标签: javascript ajax forms validation

我有两个我想要一起工作的JavaScript。我有一个通过ajax提交的表单和一个表单验证脚本,如果验证失败,我希望一起工作以防止提交ajax表单。

这是ajax表单提交脚本:

<script type="text/javascript">
$(document).ready(function(){$(".sendName").click(function(){
var jsuser=$("#jsuser").val();
var jemail=$("#jemail").val();
var jusid=$("#jusid").val();
$.post("recomend.php",{jsuser:jsuser,jusid:jusid,jemail:jemail},function(data){$("#loadName")
.html(data)
.effect('bounce', { times: 5, distance: 30 }, 300);
  });
 });
});
$('#start').click(function() {
  $('#effect').toggle('fast', function() {
   });
});
</script>

此代码完美无缺,表单已提交。

我也有部分验证码。如果输入的信息不正确,则会在字段旁边显示错误消息,但仍可以提交表单。

在正常形式上,验证代码的调用方式如下:

<form method="post" action="formprocess.php" name="form1" id="form1" onsubmit="return validate(this)">

所以,我需要知道如何做相同的:

onsubmit="return validate(this)"

在ajax提交代码中,如果有错误则不提交表单。

2 个答案:

答案 0 :(得分:1)

$(".sendName").click(function(){
  if (!validate(this.form)) return;
  // rest of your function, including AJAX call
});

.form属性可用于所有表单元素(HTMLSelectElement,HTMLOptionElement,HTMLInputElement,HTMLTextAreaElement,HTMLButtonElement,HTMLLabelElement,HTMLFieldSetElement,HTMLLegendElement,HTMLObjectElement和HTMLIsIndexElement)。

答案 1 :(得分:1)

你为什么不这样做?

<script type="text/javascript">

$(document).ready(function(){$(".sendName").click(function(){

var jsuser=$("#jsuser").val();
var jemail=$("#jemail").val();
var jusid=$("#jusid").val();
if(validate(jsuser, jemail, jusid)){
$.post("recomend.php",{jsuser:jsuser,jusid:jusid,jemail:jemail},function(data){$("#loadName")
.html(data)
.effect('bounce', { times: 5, distance: 30 }, 300);
  });
 });
});
$('#start').click(function() {
  $('#effect').toggle('fast', function() {
   });
});
}
</script>

validate验证的地方