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