2017-07-19 37 views
-2

我在我的页面中有一个表单。 onsubmit我有一个验证功能。我只有在验证函数返回true时才需要通过ajax发送表单的值。 但即使验证返回错误,我的数据也正在提交。请帮助我。 这里是我的代码如何通过ajax提交表单只有当验证功能回复真

形式

<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()返回函数真正

$("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(""); 
       } 

      } 

     }) 
    }) 

回答

1

获取删除内联提交处理程序并在unob中使用val()方法Trusive事件处理程序。

$("#form").submit(function (e) { 
    e.preventDefault(); 
    if (val()) { 
     $.ajax(....) 
    } 
}); 
+0

Thanksx it worked –