• ベストアンサー

<input type="file">のイベントについて

<input type="file">でファイルを選択した時点にイベントを追加する方法を教えてもらえませんか? セキュリティの観点から無理なのでしょうか?

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

ファイルを選択した時点で、 onchange イベントが起こりますので、 それを利用すればいいです。 例: <form name="File"> <input type="file" name="UPLOADFILE" onchange="alert(document.File.UPLOADFILE.value)"> </form>

meikenpochi
質問者

お礼

BLUEPIXYさん、回答ありがとうございました。 onchangeで出来ました。

すると、全ての回答が全文表示されます。

その他の回答 (4)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.5

補足 自分でも調べてみました所 onchangeイベント valueプロパティ は javascript1.1以上で対応しているようです。 なお、#4でも答えられているように スクリプトからのvalueの変更はできません。 これは、クライアントが意図したファイルと違うものを転送させられる恐れがあることからできないと思われます。

meikenpochi
質問者

お礼

調べて頂いて恐縮です。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.4

失礼しました。 > onchangeイベントは発生しない IE5, NN4.7では発生しない。 IE6, Opera7, firefox1では発生する。 > valueも参照できない。 参照は出来る。 >セキュリティの観点から無理 valueへの代入はセキュリティの観点から無理 に訂正します。

meikenpochi
質問者

お礼

todo36さん、回答ありがとうございます。 valueへの代入はやっぱり無理なんですね。

すると、全ての回答が全文表示されます。
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

#2様 少なくとも、XP+IE6のウチの環境では、実行できましたが? >セキュリティの観点から無理 クライアント側のファイルの選択 や選択されたファイル名の表示とは なんの関係も無いように思います。 そうすると、ファイルのアップロード自体できないというような感じになってしまうと思いますが 実際、ライブドアブログでは、 アップロードファイルの選択時に選択されたファイル名を表示していますしね。 「専門家」としては、どういう根拠で言われているのでしょう?

すると、全ての回答が全文表示されます。
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2

onchangeイベントは発生しないし、valueも参照できない。 >セキュリティの観点から無理 です

meikenpochi
質問者

お礼

回答ありがとうございます。

すると、全ての回答が全文表示されます。

関連するQ&A