【问题标题】:JQuery Validate PluginJQuery 验证插件
【发布时间】:2012-09-14 03:58:41
【问题描述】:

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

<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 方法,所以它没有使用它。我应该使用不同的来源吗?任何人都可以看到任何问题吗?

P.S: 有没有办法将表单中的所有数据序列化为一个数组,这样我就可以像引用它一样引用它了

data["first_name"]

我尝试了 serializeArray 并做到了:

alert(data["first_name"]);

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

【问题讨论】:

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


    【解决方案1】:

    试试这个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

    一个通用的迭代器函数,可以用来无缝迭代 对象和数组。

    【讨论】:

      猜你喜欢
      • 2011-04-22
      • 1970-01-01
      • 2017-06-16
      • 2011-03-31
      相关资源
      最近更新 更多