2011-10-17 17 views
2

複数のコメントボックスがあるページがあります。誰かがコメントボックスの送信ボタンをクリックすると、JQueryは投稿を処理してコメントを投稿します。コメントボックスのテキストを空に戻したいと思っています。私はそこ.reset()オプションがあるが、まだどのように多くの間で単一のテキスト要素にアクセスする方法を教えていないことを知っているJQueryを使用して複数のフォームを持つページで1つのテキスト要素を選択する方法

$('.formstyle').submit(function() {   
    $.post("/messages/", $(this).serialize()); 
    return false; 
}); 

:私はこのようなものを使用しています。 $(":input[name=new_message]").val('');を使用してページのすべてのテキストボックスのテキストを設定できますが、送信していないメッセージがあると迷惑になる可能性があります。私はthis.(":input[name=new_message]").val('');の行に沿って何かが働くが、ダイスはないと思うだろう。私はちょうどthis(またはより多くの可能性があります$(this))と入力セレクタの間にドットを接続していないと思います。

+1

複数のコメントボックスにそれぞれ独自のフォームがあり、それぞれの送信ボタンまたは複数のコメントボックスが1つのフォームにあり、送信ボタンが1つありますか? –

+0

別々の送信ボタンでフォームを区切ります。私はこの質問を提出した直後に(実際に_forever_を検索した後に)それを理解しました。私はセレクタに文脈として 'this 'を渡し、' $( "input [name = new_message]"、this).val(' '); 'を使用しました。魅力のように働いた。 Stackexchangeは私が8時間以内に私自身の質問に答えることができないので、私はこれを閉じるのを待たなければならないと言います。 – user1000048

+0

または以下の回答の1つを受け入れてください。あなたは最終的に自分自身で答えを見つけたかもしれませんが、それは人々があなたにそれを与える時間を費やさなかったということを意味しません。 –

答えて

1

あなたは、単にこれを使用することができます: -

$('.formstyle').submit(function() {   
    $.post("/messages/", $(this).serialize()); 
    $(this).find('input[name=new_message]').val(''); 
    return false; 
}); 
+0

私はあなたの答えに小さな変更を加えました。私は '$(this).find( ':input [name = new_message]')を作るために': 'を追加しました。答えをありがとう、これは本当に私を気にしていた。 – user1000048

2

試してみてください。

$(":input[name='new_message']",this).val(''); 

$()ための第二引数は、セレクタのコンテキストを定義し、そのセレクタは、専用フォーム内の入力と一致します火災が発生する

+0

これは私がやったことに似ています(上記の私のコメントに記載)。ありがとう。 – user1000048

+0

おかげで、私はあなたのソリューションを使用すると投稿は初めてのようです。それ以降のテキストはクリアされますが、2番目のコメントは送信されません。何か案は? – user1000048

+0

私の提案は、フォームの送信を妨げないと確信しています。 –

0

<form>が複数ある場合は、thisはその特定のサブミリ。 $(this).find(':input[…]').val('')を使用して、そのフォーム内のフィールドのみをリセットすることができます。

関連する問題