我的页面中有一个表单。 onsubmit我有一个验证功能。我需要只有在验证函数返回true时才通过ajax发送form的值。 但即使验证返回false,我的数据也会被提交。请帮帮我。 这是我的代码
形式
<form id="form" method="post" onsubmit="return val()">
<input type="text" name="name" id="t1" placeholder="name" class="i">
<span id="msg1"></span><br>
<input type="number" name="roll" id="t2" placeholder="roll no" min="0" class="i">
<span id="msg2"></span><br>
<input type="number" name="age" id="t3" placeholder="age" min="0" class="i">
<span id="msg3"></span><br>
<input type="submit" name="submit" id="submit" value="submit">
</form>
val函数
function val()
{
var status=true;
var name=$("#t1").val();
var age=$("#t2").val();
var roll=$("#t3").val();
if(name=="")
{
$("#msg1").text("*name cannot be empty");
status=false;
}
if(roll=="")
{
$("#msg2").text("*roll number cannot be empty");
status=false;
}
if(age=="")
{
$("#msg3").text("*age cannot be empty");
status=false;
}
return status;
}
仅当val()返回true
时才需要工作的函数$("form").submit(function(e){
e.preventDefault();
$.ajax({
type:"post",
url:"<?php echo base_url() ?>"+"att_controller/add_stud",
data: $("#form").serialize(),
success: function(){
if(confirm("added")){
$(".i").val("");
}
}
})
})
答案 0 :(得分:1)
摆脱内联提交处理程序并在不显眼的事件处理程序中使用val()
方法。
$("#form").submit(function (e) {
e.preventDefault();
if (val()) {
$.ajax(....)
}
});