JQuery Validate插件

时间:2012-09-14 03:58:41

标签: jquery arrays serialization jquery-plugins jquery-validate

我正在尝试使用validate插件,但我猜它没有正确设置。这是我的标题:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
<title>Registration Page 2</title>
<script type="text/javascript">
$(document).ready(function(e) {
    $("#everything").submit( function() {
        var data = $("#everything").serializeArray();
        $("#everything").validate({
            alert(data);
        });
        return true;
    });

});
</script>
</head>

但它没有识别验证方法,所以它没有使用它。我应该使用不同的来源吗?任何人都可以看到任何问题吗?

P.S:无论如何将表格中的所有数据序列化为数组,以便我可以像

那样引用它
data["first_name"]

我尝试了serializeArray并做了:

alert(data["first_name"]);

但它说这是未定义的。谁知道怎么做?感谢

1 个答案:

答案 0 :(得分:2)

试试 demo

<form id="commentForm">
  <div><input type="text" name="a" id="a" class='required'/></div>
  <div><input type="text" name="b" id="b" class='required'/></div>
  <div>
    <input type="submit" name="g" value="Submit" id="everything" />
  </div>
</form>
$(document).ready(function(){
    $("#commentForm").validate({
     submitHandler: function(form) {
              var dataArray = $("#commentForm").serializeArray();
                 dataObj = {};
                $(dataArray).each(function(i, field){
                  dataObj[field.name] = field.value;
                }); 
                 alert(dataObj['a']);                
         }    
    });            
  });​

您可以使用jquery .each函数迭代数组

<强> .each

  

通用迭代器函数,可用于无缝迭代   对象和数组。