1

我正在尝试使用验证插件,但我猜它设置不正确。这是我的标题:

<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>

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

PS:无论如何要将表单中的所有数据序列化为数组,以便我可以像引用它一样

data["first_name"]

我尝试了 serializeArray 并做了:

alert(data["first_name"]);

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

4

1 回答 1

2

试试这个演示

<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 函数来迭代数组

。每个

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

于 2012-09-14T04:19:26.803 回答