- ベストアンサー
入力欄の消去方法について
- 在る欄に回答を入力させるようなcgiを作成しています。システム的に内容をチェックし、結果がngの時にngだった内容を表示しています。同じ画面で誤った箇所の再入力をさせようとしています。
- 質問者は「クリア」ボタンを使用して、システムで表示した内容を消すことができるか尋ねています。現在の書き方ではその機能は実現できません。
- そのため、別の方法を探す必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
お気付きのとおり、 <input type="reset" ...> は入力欄内容をロード時点の戻すのが本来の機能です。 ロード時点で何かが入っていた入力欄をクリアするにはJavaScriptでプログラミングする必要があります。 プログラミングなので、どこかに 「type="clear"」と書けば済む様な簡単なものではありません。 例えばクリアしたいのが<input type="text" ...>であれば、参考URLの element.value を使用して、それに空文字列を代入すれば良いでしょう。 element をどう取得するかがキモですが、クリアしたい inputタグに id を付けておいて document.getElementById() するのが万能で簡潔です。 いずれにせよ、JavaScript でDOM操作するための勉強が不可欠です。
その他の回答 (1)
- zxcv0000
- ベストアンサー率56% (111/196)
お気付きのとおり、 <input type="reset" ...> は入力欄内容をロード時点の戻すのが本来の機能です。 ロード時点で何かが入っていた入力欄をクリアするにはJavaScriptでプログラミングする必要があります。 プログラミングなので、どこかに 「type="clear"」と書けば済む様な簡単なものではありません。 例えばクリアしたいのが<input type="text" ...>であれば、参考URLの element.value を使用して、それに空文字列を代入すれば良いでしょう。 element をどう取得するかがキモですが、クリアしたい inputタグに id を付けておいて document.getElementById() するのが万能で簡潔です。 いずれにせよ、JavaScript でDOM操作するための勉強が不可欠です。
お礼
早速有り難うございました。 了解しました。 私が思いこんでいたのは、 reset=「何でも消せる」だったのですが、 消せるではなく、ロード時点に戻すだったのですね。 javascriptは全くなので、今後にしたいと思います。 対策として、 誤回答は入力欄ではなく別な行に印字し、 入力欄はスペースのままで表示するようにします。 これでも目的は達せられますので。 お世話になりました。