2013-10-09 73 views
0

在我能够执行和AJAX更新之前,我一直试图验证我的表单数据。所以基本上我试图实现的是在ajax更新函数之前验证表单输入数据。我不知道我会放在功能下面的方法中验证: 我的AJAX更新功能:在更新之前验证字段

$("#updateUser").click(function() { 
      $.ajax({ 
       type: "POST", 
       url: "${pageContext.request.contextPath}/updateUser", 
       data: $("#updateForm").serialize(), 
       success: function(response) { 
        $("#alert").show(); 
       }, 
       error: function(XMLHttpRequest, textStatus, errorThrown) { 
        alert("Status: " + textStatus); alert("Error: " + errorThrown); 
       } 
      }); 
     }); 

这是我试图验证表单:

<form id="updateForm"> 
        <input type="hidden" id="id" name="id" /> 
        Name: 
        <input type="text" name="name" id="name" /> 
        <br /> 
        User name: 
        <input type="text" name="username" id="username" /> 
        <br /> 
        Email: 
        <input type="text" name="email" id="email" /> 
        <br /> 
        Authority 
        <input type="text" name="authority" id="authority" /> 
        <br /> 
       </form> 

任何建议,请帮助,我是新来的JavaScript。谢谢

+0

$( “#UpdateUser两个”)。点击(函数(){如果(!有效($(“#updateForm “))return false; ... - 在哪里和什么是#updateUser – mplungjan

+0

#updateUser其实是这个表单后的一个按钮,我忘了在问题中发帖 – Maff

回答

1

您应该在发送ajax调用之前放置您的验证代码。

$("#updateUser").click(function() { 
var allright = true; 
if ($('#name').val() == ''){ 
    allright = false; 
    highlight_input('#name'); 
} 
if (allright){ 
     $.ajax({ 
      type: "POST", 
      url: "${pageContext.request.contextPath}/updateUser", 
      data: $("#updateForm").serialize(), 
      success: function(response) { 
       $("#alert").show(); 
      }, 
      error: function(XMLHttpRequest, textStatus, errorThrown) { 
       alert("Status: " + textStatus); alert("Error: " + errorThrown); 
      } 
     }); 
} 
    }); 
+0

或者(!allright)return; – mplungjan

+0

这太棒了!我想这就是我要找的东西 – Maff

+0

肯定:)你可以自由地做你的感受如果有很多逻辑,那么更好的办法是将这些分离成一些函数,并在逻辑条件下使用它们。 – alex

1

如果您正在使用jQuery validation您可以在下面的方法做

$("#updateUser").click(function() { 

    var form = $("#updateForm"); 
    form.validate(); 
    if(form.valid()){ 
     $.ajax({ 
      type: "POST", 
      url: "${pageContext.request.contextPath}/updateUser", 
      data: $("#updateForm").serialize(), 
      success: function(response) { 
       $("#alert").show(); 
      }, 
      error: function(XMLHttpRequest, textStatus, errorThrown) { 
       alert("Status: " + textStatus); alert("Error: " + errorThrown); 
      } 
     }); 
     } 
    }); 
相关问题