- ベストアンサー
<IMPUT TYPE="file">入力フィ-ルドのクリア
<FORM NAME="form1"> <IMPUT TYPE="text" NAME="text1"> <IMPUT TYPE="file" NAME="file1"> </FORM> 入力フィ-ルドを<INPUT TYPE="reset">を使わずに クリアしたいのですが textフィ-ルドは this.form1.text1.value=""; でクリアできるのですが fileフィ-ルドは this.form1.file1.value=""; では、クリアできません "reset"と同じようにどうすればクリア出来ますか。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
<input type="file" />のvalueを入力以外で変更できないのはhtmlの仕様です。 私も以前Webアプリケーションを作成した際に 同様の問題で四苦八苦した事があります。 私の場合は初期値をセットしろ、という話だったのですが。 話が逸れましたので本題へ戻ります。 hana3090さんの場合はfileフィールドのみクリアしたいとの事ですので、 itochandaさんが仰っているように、reset()後に他のフィールドに入れなおしが妥当かと。 function hoge(form) { temp = form.text1.value; form.reset(); form.text1.value = temp; } 関数を作成する場合であればこのようにしてはいかがでしょうか。 ただ、入力フィールドが1つではないという事も考えられますので、 その際には各タイプ毎に配列にしまってやって、reset()後、 その逆をしてやるだけで実現できると思います。
その他の回答 (2)
- itochanda
- ベストアンサー率36% (8/22)
document.form1.file1.value=""; を試したら(Mozilla)、セキュリティエラーが出ています。(ローカルのファイル名などにアクセスできるから?) #1さんの、 document.form1.reset(); の後に、それ以外のを書き戻すってのはどうでしょう?
- President
- ベストアンサー率57% (12/21)
こんにちは。 document.form1.reset(); でクリアできます。
補足
解答ありがとう、 <INPUT TYPE="file" NAME="file1"> このフィ-ルドのみクリアしたいのですが
お礼
ありがとう御座いますおかげさまで四苦八苦せずに 出来ました、これからもよろしくお願いします。