0

我有两个我想一起工作的 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提交代码中,如果有错误不提交表单。

4

2 回答 2

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)。

于 2012-05-18T22:50:51.730 回答
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你的验证在哪里

于 2012-05-18T22:51:38.427 回答