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>

しかし、検証メソッドを認識していないため、使用していません。別のソースを使用する必要がありますか? 誰でも問題を見ることができますか?

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 に答える