• ベストアンサー

<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

  • <input type="file">アップロード

    下記教えて下さい <input type="file" name="datafile"> <input type="submit" value="送信する"> 上記を使ってファイルのアップロード機能を作りたいのですが、 (1)ファイル選択していない状態で「選択されていません」となるので  文字を消したい(文字を非表示、または違う文言にしたい)場合、どこで設定するのでしょうか。 (2)送信するボタンを置かずに、選択時にそのまま送信処理につなげたいのですが  どのようにすれば良いでしょうか。

    • ベストアンサー
    • HTML
  • <input type="file">タグで「キャンセル」か「開く」を取得したい

    いつもお世話になります。 <input type="file">タグで、 ファイル選択ダイアログを開いたあとに、 「キャンセル」を押したのか、 ファイルを選択したのか(「開く」を押したのか)を 取得する方法はないのでしょうか? よろしくお願いします。

  • inputボックスでのファイル選択後、自動でinputボックス作成

    <input type="file">でアップロードファイルを選択後、自動で新しい<input type="file">のボックスが表示されるような仕組みを作れますか? onclick()のようなイベント取得方法で、ファイルが選択されたというようなイベントなどがありますでしょうか? ファイルを連続で選択し、それらをまとめてアップロードする必要があります。

  • input type="file"の入力チェック

    よろしくお願い致します。 入力チェックページ付きのメールフォームについて、添付ファイルを必須項目にしたいと考えております。 <input type="text" name="お名前" />の場合は、以下のようなコードで入力チェックしております。 if($DATA['お名前'] == ""){ $err.="【お名前】を入力して下さい。\n"; } <input type="file" name="添付ファイル" />の添付ファイルも同じコードで試してみたところ、 if($DATA['添付ファイル'] == ""){ $err.="【添付ファイル】を選択して下さい。\n"; } ファイルの添付の有無に関わらず、「添付ファイルを選択して下さい。」というエラーコードが常に表示されます。 「input type="file"」の場合の入力チェックはどのようなコードを書けば良いのでしょうか?

    • 締切済み
    • PHP
  • <input type="file">で条件分岐

    <input type="file">で、送信ボタンをクリックする前に、下記のようなことをしたいです。 どうやるのでしょうか? ■A ・ファイルを選択したかどうか、の条件分岐 ■B ・選択したファイル名を、JavaScript変数へ格納

  • input type="file"に入力するには?

    わからなかったので質問させてください。 inputtype="text"のときは入力できたのですが以下の方法で入力できたのですがfile場合はできないのでしょうか?。 入力したいのはファイルパスです。 ファイルパスを入力して画像ファイルをアップロードさせてたいのですがどのようにすればいいでしょうか。 どなたかご教授ください。 <input type="file" name="file" size="30"> WebBrowser1.Document.All.GetElementsByName("file")(0).InnerText = TextBox1.Text

  • JavaScriptのfileオブジェクト(input type="file")の選択を初期化したい

    fileでユーザーが選択したファイルを、未選択の状態にしたいのですができません。 valueプロパティを""にしてもnullにしても、元の値(ファイルパス)が入ったままです。 HTML: <input type="file" name="picture_file"> JavaScript: document.form_main.picture_file.value = ""; alert(document.form_main.picture_file.value); document.form_main.picture_file.value = null; alert(document.form_main.picture_file.value); どうにかして初期化する方法はありますでしょうか?file以外のほかのinput項目は変更せず、また画面遷移もせず実現する必要があります。

  • input TYPE="FILE"で取得した画像を表示

    お世話になります。 htmlのタグにinput type="file"というのがありローカルの画像を選択できるエクスプローラが起動するというボタンなのですが、それで選択した画像ファイルをサーバ処理を行うことなくブラウザに表示させたいのです、こんなことが可能なのでしょうか? なにかサンプル等ご存知の方宜しくお願いします。

    • ベストアンサー
    • HTML
  • <input type="file">でテキストボックスを触れなくする方法

    いつもお世話になっております。 表題の件で質問なのですが、HTMLのタグ <input type="file" ....>ではテキストボックスの値を readonlyに設定し、「参照...」ボタンからファイルを 選択するようにする方法はあるのでしょうか。 ご存知の方がいらっしゃいましたらご教授願えれば 幸いに存じます。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • <input type="file">について

    <input type="file">のボタン部分に色を付けたり、背景画像を敷きたいのですが、 ボタン部分ではなく、文字入力エリアに色が付きます。 文字入力のところはそのままで、ボタンだけにスタイルシートをかけることはできるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML

専門家に質問してみよう