0

URLのハッシュ部分に格納するための特定のhtmlフォームの文字列表現を作成したいと思います。

私はそのようなメソッドとjqueryがあることを怠惰に望んでいました。serialize()は、私が見たすべての例で、フォーム送信の'this'オブジェクトを使用することを除いて、うまくいくようです。私のサイトでは、フォームが送信されていません。シリアル化できるようにしたいだけです。私はもう試した:

params['formParams'] = $("#"+currentSearchForm).serialize();

しかし、シリアル化されたフォームの代わりに空の文字列を取得します。

フォーム送信をスプーフィングしてシリアル化された文字列を生成してから、デフォルトのイベントなどをキャンセルする必要がありますか?少し不自然なようです..?

あるいは、シリアル化が間違っているだけかもしれません。

ご協力いただきありがとうございます!

4

3 に答える 3

1

まず、フォーム要素に「名前」属性があることを確認します。これは、シリアル化が機能しない原因である可能性があります。

送信時にこれを実行してから送信をキャンセルする場合は、次のように実行できます。

$("#formid").submit(function() {
  //whatever
  return false; //<- this cancels the submit
});
于 2012-09-19T13:57:40.837 に答える
1

jQuery.serialize()がそのトリックを実行する必要があります。$('form').serialize()フォームデータを取得するために使用できます。

これがデモです、http://jsfiddle.net/muthkum/x6n2e/1/。1つは、フォームを送信する前に呼び出されます。[送信]ボタンをクリックすると、もう1つが呼び出されます。両方とも動作します。

于 2012-09-19T13:58:44.483 に答える
0

単純な

$( YOUR_INPUTS_TO_BE_SERIALIZED ).serialize() ...

詳細については、こちらのドキュメントをご覧ください

ハッシュで付与された文字に適合するように、出力文字列を変換する必要がある場合があることに注意してください。

このスレッドはあなたを助けるかもしれません

于 2012-09-19T14:07:14.143 に答える