Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过ajax函数调用验证_Javascript_Ajax_Forms_Validation - Fatal编程技术网

Javascript 通过ajax函数调用验证

Javascript 通过ajax函数调用验证,javascript,ajax,forms,validation,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();

我有两个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>
在ajax提交代码中,如果有错误,则不提交表单

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

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

为什么不执行以下操作

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

$(文档).ready(函数(){$(“.sendName”)。单击(函数()){
var jsuser=$(“#jsuser”).val();
var jemail=$(“#jemail”).val();
var jusid=$(“#jusid”).val();
if(验证(jsuser、jemail、jusid)){
$.post(“recomend.php”,{jsuser:jsuser,jusid:jusid,jemail:jemail},函数(数据){$(“#加载名”)
.html(数据)
.效果('反弹',{次:5,距离:30},300);
});
});
});
$(“#开始”)。单击(函数(){
$('#effect')。切换('fast',function(){
});
});
}

其中,
validate
通过执行验证,例如,
if(…){…}else{…}
我熟悉if语句。只是对代码中的“返回”没有100%的把握。如果(!validate(this.form)){return;}或者{}根据您发布的代码,我会怎么做?在您的代码中,“this”引用是什么?它是否引用了类为“.sendName”的表单?这实际上是submit按钮的类,用于通过ajax发送表单。如果我要在对表单的引用中硬编码,我会用什么来代替代码中的“this.form”?
是注册
单击
处理程序的元素。正如我在问题中提到的,表单的元素(如submit按钮)有一个引用表单本身的
.form
属性。基于您最初的验证代码,我假设您的
validate()
方法将要验证的表单作为其参数。感谢您提供有关.form属性的信息:)我最终做了类似的事情。出于好奇,为什么你不给那些帮助你解决问题的人提供的有用答案投票呢?我通常会这样做。我也总是接受对我的问题最有帮助的答案。当我早些时候试图解决这个问题时,我有点匆忙,所以只标记了接受的答案就离开了。然而,我总是检查我的问题,寻找新的帖子和评论,然后接受答案,并标记出对我有帮助的答案。关于这个问题的两个答案都帮助我弄明白了一些事情,所以他们都被选上了。
$(".sendName").click(function(){
  if (!validate(this.form)) return;
  // rest of your function, including AJAX call
});
<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>