2009-08-04 8 views
25

jQuery.ajaxを使用して、POSTを使用してフォームを送信する場合は、「data:」部分ですべてを手動で指定する必要はありません。jQuery.ajax - 手作業で入力することなくフォーム内のすべての要素を送信

これは私が望んでいないものです:

data: "username=" + document.getElementById("username").value + 
    "&email=" + document.getElementById("email").value, 

はちょうどそれが全体のフォームフィールドから値を持つアラ要素を含む持ってする方法はありますか?このフォームは動的に生成されるため、多くの時間を節約できます。

答えて

72

serialize methodを使用してください。

data : $("form").serialize() 
+0

ほとんど* *答えを。 +1 –

+1

各入力要素に名前を付けることを忘れないでください。 –

+3

':input'セレクタを使用してください:' $( "#form:input")。serialize() ' –

8

http://docs.jquery.com/Ajax/serializeをご覧ください。 jQueryのAjaxの全体フォームデータを送信するために

$("#submit").click(function() { 
    $.ajax({ 
     data: $("form").serialize(), 
     ...rest 
    }); 
}); 
関連する問題