• ベストアンサー

フォーム内で記入したクエリ送信後自動的にフォーム内をリセットする方法

いつもお世話になっております。 今回ご教授いただきたいのが、 <FORM action=/search/clanad/filed.exe method=post target="main"> ~~中略~~ <INPUT type=submit value=検索 > という形で、フォーム内に記述したものを、 submitで"検索"を押して動作が走ったときに連動してクリアしたい、と考えております。 どのような記述を加えてあげれば宜しいのでしょうか? 単純なごしつんもんかとは思いますが、知恵をお貸しいただければと思います。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • okmotokun
  • ベストアンサー率59% (92/155)
回答No.3

送信ボタン属性がsubmitだと、タイミングによって入力データの一部が送信前にリセットされるおそれがありますから、次のようにするといいでしょう。 (1) ヘッドに次のスクリプトを記述する。 <script type="text/javascript"> function rset(f){ f.submit(); f.reset(); } </script> (2) ボタンのtype属性をbuttonにして、onclick属性を付ける。 <INPUT type="button" value="検索" onclick="rset(this.form)">

Pesi
質問者

お礼

ありがとうございます。 onclickイベントに埋め込んでしまう方が後々の管理、再利用に便利そうですね。 >>submitだと、タイミングによって入力データの一部が送信前にリセットされるおそれがあります そうだったのですね…。勉強になりましたm(_ _)m

その他の回答 (2)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

え~っと。 this.reset() だと送信前に、リセットされてしまうので、 submit();this.reset();return false; ではないのかなぁ…

Pesi
質問者

お礼

ありがとうございました。 昨日、こちらで動作等確認させて頂きました。 おかげさまで、無事完成いたしました♪

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

<FORM action=/search/clanad/filed.exe method=post target="main" onsubmit="this.reset()"> とかでどうでしょう?

Pesi
質問者

お礼

ありがとうございました。 試してみたところ、No2さんの書かれたとおり残念ながらクエリ送信前にデータクリアされてしまいました。 this.resetは何かと使えそうな気がするので、どこかで使わせていただきます☆

関連するQ&A

専門家に質問してみよう