0

テーブル行にフォーム入力があり、ajax 経由で送信したいと考えています。

$(this).closest("tr").find("input,select,textarea").each(function(){$data+=$(this).attr('name')+'='+encodeURIComponent($(this).val())+'&';

入力の1つの値にアンパサンドが含まれるまで、すべてが正常に機能していました。この投稿でいくつかの情報を見つけました。これは非常に役立ちました。また、encodeURIComponent (上記のように) を使用して、問題なくフォームを送信することができました。私の質問は - その投稿で、@TJ Crowder は、@Darin Dimitrov のソリューションを使用して「強く推奨」する方法について言及しました。

data: { id: thisId, value: thisValue }

これを現在のコードにどのように実装しますか? また、2 番目のコードを使用する利点はありますか、それとも encodeURIComponent も同じくらい良いですか?

4

1 に答える 1

1

ネイティブ Javascript "Object" 疑似クラスを使用できます。コードの目的がよくわかりません。しかし、それが正しいと仮定すると、次のようになります。

$data = new Object;
$(this).closest("tr").find("input,select,textarea").each(function(){
  $data[$(this).attr('name')] = $(this).val();
});

お役に立てれば。

于 2012-09-05T02:32:06.217 に答える