私はHTMLフォームを使用している場合、のは言わせて...フォームを送信せずにフォームと共に送信される*フォームデータを取得する方法はありますか?
<form id='myform'>
<input type='hidden' name='x' value='y'>
<input type='text' name='something' value='Type something in here.'>
<input type='submit' value='Submit'>
</form>
...そして私は、例えば、フォームの送信イベントに応答するためにjQueryのを使用します
$('#myform').submit(function() {
...
return false;
});
は今、私が代わりに実際に(新しいページなど)、「伝統的な」方法でそれを提出するのAJAX呼び出しとしてフォームを送信するとします。私は$.post()
に渡すことができる送信されるデータを含むJSオブジェクトを取得する簡単な方法はありますか?上記の例では、次のようになります。
{
x: 'y',
something: 'Type something in here.'
}
または私は自分自身を焼く必要がありますか?
これはJSオブジェクトではなく文字列を生成します。その文字列を '$ .post()'に渡すことは可能ですか? – Timwi
@ティムウィ:jQuery.post(this.action/* url * /、$(this).serialize()、/ * callback * /) 'は可能です。返されるオブジェクトを得るために最も近いのは、['serializeArray()'](http://api.jquery.com/serializeArray)を使うことです。エンコードされたフォーム要素の配列を返します。 – Matt