こんにちは、ボーノです。
formの扱いってWeb技術としては超基本的なとこだけど、制約が多かったり融通が効かなかったり、結構扱いにくかったりします。
ここでは、jQueryに便利なメソッドが用意されてたので紹介します。
serialize()
これを使うと、HTML内の
内の全てのフォーム要素(input, select, text等)のデータを一連のデータに結合して送信することができます。
基本形はこれ。
1 2 3 4 5 | $("input#hoge").click(function(){ var disp = $("#form").serialize(); $("#foo").text(disp); }); |
serializeとは、par1=AAA&par2=BBB&par3=CCC&…といったように、パラメータと値を数珠つなぎなデータに変換すること。
例えばこんな使い方もできる。これはajaxにformデータを送信した時の方法。
最終行のように、formデータに&をつなげてパラメータを追加していくこともできる。
1 2 3 4 5 6 | $.ajax({ type : 'POST', url : 'url', data : $('#form').serialize() + "&par1=1&par2=2&par3=3" } |
ちなみに、form要素内には他の関係ないタグが混ざってても送信するデータには影響ないです。
参考までに。