プロが教える店舗&オフィスのセキュリティ対策術

 テキストのフォームをリセットできない状況で,どうすればよいかご指導いただきたく投稿しました。HTMLファイルから検索ワード"SerchWord"を再検索画面にも表示させるために"GET"で送り,$_GETで受け取るという形にしています。
 ちなみに,今回の命令ではタイプをボタンにして,onClickで場所を指定してリセット命令をかけていますが,type='reset'でも,onClick='thisform.reset()'でも,テキストボックス内の文字は消えませんでした。
 以下,その部分のプログラムです。
……
if($_GET["SerchWord"] == null || (strcmp($_GET["SerchWord"] , "") == 0)) {
echo("<input size='60' type='text' name='SerchWord' value='' />");
} else {
echo("<input size='60' type='text' name='SerchWord' value='" . $_GET["SerchWord"] ."' /> ");
}
echo("<INPUT type='submit' value='検索'><BR>");
echo("<INPUT type='button' value='リセット' onClick='document.Kensaku.SerchWord.reset()'><BR>");
……
 もしかすると悩むレベルではないかもしれませんが,自分にとって簡単なようで,ものすごく悩んでいます。
 どなたかご指導いただければ・・・。よろしくおねがいします。

A 回答 (2件)

IEでもだめですか、


ソースが全部記載されてませんが、
</form>を省略していませんか?
またフォームの名前もあっていますか?
  document.form名.reset();
だったような?

この回答への補足

 早速の回答ありがとうございます。
 IEでもだめでした。(ちなみにIEでリセットボタンを押すと,左下に”エラーが発生しました”とメッセージが現れます)

 ちなみに,phpのスクリプトの上に(上部の…の中に)
 <FORM name="Kensaku" action="search.php" method="GET">
 を設定しています。
 また,</FORM>もあります。(下部の…の中に)
 すいません,省略しすぎてしまいました。

補足日時:2008/10/31 09:41
    • good
    • 0

認識が間違えていますね・・・



リセットというのはinputが空になることではありません。
初期値に戻ることです。
もし、SerchWord(SearchWordじゃない?)の初期値をいれている
のであればリセットしても空になることはありません。
逆にSerchWordの値を変更した場合、リセットを押せば、
初期値にもどるはずです。

どうしてもリセットで空にしたい場合は大きくは以下の3つの
方法になると思います。

(1)リセットと書かれたsubmitを行い、ページを再読み込みする。
(2)javascriptで初期値をいれる→つまりほんとの初期値は
空なのでリセットされる
(3)リセットボタンをbuttonで実現し、javascriptでデータを
消去する

この回答への補足

 ありがとうございます!!
 なるほど納得!!リセットは初期値に!!つまり,GETしていたvalueの内容に戻るということですか!!理解しました。
 (3)が一番しっくりきそうなので,javascript試してみます!!

>もし、SerchWord(SearchWordじゃない?)の初期値をいれている
 おっしゃるとおりSearchWordですよね…。これは,プログラミングの問題ではなく,Englishの問題で,自分の教養不足です…。(トホホ…)ご指導ありがとうございます!!

 また困ったときはご指導いただければと思います。

補足日時:2008/10/31 09:53
    • good
    • 0
この回答へのお礼

 無事問題解決しました!!
 すごく納得しました。javaで消す命令で一発で解消!!
 勉強になりました。今回の質問で,考える方向性を別の角度からも持つということを教わりました。ありがとうございました。

お礼日時:2008/10/31 10:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!