手持ちのjQuery関連書にはどこにも記載されていなかったのでメモです。
- serialize()
- form内の要素を文字列データにシリアライズする関数
- serializeArray( )
- FormやElementをJSON形式のデータ構造でシリアライズする関数
まず、シリアライズとはなんぞや、というあたりから。
- シリアライズ
- ソフトウェア内部で扱っているデータを丸ごと、ファイルで保存したりネットワークで送受信することができるように変換すること。
次に、試しに以下のフォームを用意してみました。
<form action="" id="JSON" method="POST"> <dl> <dt>名前</dt> <dd><input type="text" name="name" value="ドリねこ" /></dd> <dt>分類</dt> <dd><input type="text" name="bunrui" value="猫" /></dd> <dt>好きな食べ物</dt> <dd><input type="text" name="favorite" value="海苔" /></dd> </dl> </form>
で、jQueryが使える環境にて以下のスクリプトを実行。
<script type="text/javascript"> $(function(){ var data = $('#JSON').serializeArray(); }); </script>
FirefoxのFirebugのコンソールで以下を入力。
>>> console.log($("#JSON").serializeArray());
すると、以下の内容が返ってきました。(※見やすいように整形しています。)
ちゃんと、JSON形式のデータになっていました!
[ Object { name="name", value="ドリねこ" }, Object { name="bunrui", value="猫" }, Object { name="favorite", value="海苔" } ]