2011-07-30 5 views
0

"username1"、 "username2"などの既に動的に作成可能な "username" IDから複数の変数を投稿しようとしています。これらを動的に送信する方法を探しています。ONE ajax post request 。私の問題は主にdataパラメータにあります。Ajaxは複数の変数をループ経由でポストしますか?

var numOfInputs = $('input').length; 

    $.ajax({ 
    type: "POST", 
    url: "ajax.php", 
    // need way to dynamically pass more of these via numOfInputs. 
    data: ({username1 : $('#username1').val()}), 
    success: function(msg){ 
     $('#statuses').html(msg); 
    } 
    }); 

は、HTMLを要請:

<input type="text" id="username1"></input><button id="add">+</button><button id="check">Check</button> 

<div id="added-fields"> 
</div> 

<div id="statuses"> 
</div> 

答えて

2
var data = {}; 
for (var i = 1; i <= numOfInputs; i++) { 
    data["username" + i] = $("#username" + i).val(); 
} 
$.ajax(
    ... 
    data: data, 
    .... 
) 
1

さてあなたが言うことができる:

$.ajax({ 
    type: "POST", 
    url: "ajax.php", 
    data: $('input').map(function() { 
          var o = {}; 
          o[this.id] = this.value; 
          return o; 
      }); 
    ... 
+0

をコンソールにエラーを例外:キャッチされないでSyntaxError:予期しないトークンを。 – ThomasReggi

+0

あなたはhtmlを投稿できますか? – Mrchief

+0

が更新されましたが、それほどきれいではありませんが、他の回答は動作します – ThomasReggi

関連する問題