• ベストアンサー

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

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

  • HTML
  • 回答数2
  • ありがとう数11

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

  • ベストアンサー
  • ONEONE
  • ベストアンサー率48% (279/575)
回答No.2

このあたりを参考にしてはいかがでしょう。 http://devadjust.exblog.jp/16866976 http://lab.sonicmoov.com/development/javascript/input-type-file/ リンク先でも説明がありますが javascriptでinput type="file"をクリックするという動作を設けても IEでは動かないのでご注意を!

ekekojr
質問者

お礼

ありがとうございます!

その他の回答 (1)

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

> (1) CSSを駆使すればあるいはなんとかなるかも知れんが、 そういうの(input fileとしてブラウザが標準で用意している見てくれ)を あえて隠すのはセキュリティ的にまずい事もあるので できればやらない方がいいと思う。 > (2) <input type="file" name="datafile" onchange="javascript:hogehoge();"> とするとファイル選択時にhogehogeが呼び出されるのでそこでfileを含むformをsubmitしてやるなどで 対応が可能だ。 実際に試してみると分かるがIEとFirefoxとChromeではChromeだけonchangeの挙動が違うので 両方で動作試験するべきだろう。 もちろんjQueryなどのJavaScriptコンポーネントを使用しても良い。

関連するQ&A

  • input type='file' のvalue値の引渡し

    phpとmysqlを使って掲示板のようなものを製作しています。 ページその1 [入力画面&確認画面] if(!isset($submit)){入力画面} else{確認画面} ↓ ページその2 [完了画面 (データーベース処理)] 入力ページで入力した値を確認画面で [送信] or [修正] を選択して、[修正] ならば入力画面に戻る構成( unset($submit) )になっています。 [修正] を押した場合、入力した情報(value)は保持しておきたいので <input type='text' name='a'value='$a'> や if($b == 1){print"<input type='radio' name='b' value='1'checked>";} else{print"<input type='radio' name='b' value='1'>";} if($b == 2){print"<input type='radio' name='po_hyo_sex' value='2'checked>";} else{print"<input type='radio' name='b' value='2'>";} などを使用しているのですが、<input type='file' name='c'>の時に情報を保持しておく方法がわかりません。 確認画面で [修正] を押して入力画面に戻ってきた時、画像入力欄に 「 C:\Documents and Settings\1\デスクトップ\hoge.gif 」等の情報が残っているようにするにはどうすればよろしいのでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • <INPUT TYPE="file">の参照ボタンをJavascriptで操作するとエラーが・・・

    aspとBaspを使用してファイルアップロードを行う処理を作っています。 その中で、<INPUT TYPE="file">の参照ボタンをJavascriptで押下するような動きを作成したのですが、Submitを行うと「アクセス権がありません」というJavascriptのエラーが発生してしまいます。 通常の参照ボタンを利用する分には問題なくファイルをアップロードできています。 どなたか詳しい方、どう処理すればいいのか教えてください。

  • 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">で条件分岐

    <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

  • <input type="file">について

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

    • ベストアンサー
    • HTML
  • PHP用ファイルアップロード機能について

    ドコモ端末でPHPのファイルアップロード機能を使えるようにしたいのですが、どのようにすればいいでしょうか? ちなみに、vodafoneならこの機能が使えます。 ドコモ端末で下のソースにアクセスすると、 ファイルを参照するボタンが見えず、ファイルをアップロードできません。 HTMLはキャリア毎に使えるタグがあるのは知っていますが、下のソースの場合はどのように変更すれば良いのでしょうか?ご教授下さい。宜しくお願いします。 #ソースはコレです。 <form method="post" action="upload_save.php" enctype="multipart/form-data"> <input type="hidden" name="max_file_size" value="1000000" /> <input type="file" name="upload_file" size="70"><br /> (上書き禁止) <input type="checkbox" name="forbidden" value="1" checked /> <input type="submit" value="アップロード" /> </form> #ファイル自体はphpですが、中身はほぼHTMLに関する質問になってしまい、申し訳ありません。

    • ベストアンサー
    • PHP
  • <input type="file"/>

    に文字列をセットするために <form> <input type="file" id="x"/> </form> <input type="button" onclick="f()" value="push"/> <script> function f() { var e=document.getElementById("x"); e.value="x.txt"; } </script> としてもセットできません <form> <input type="text" id="x"/> </form> <input type="button" onclick="f()" value="push"/> <script> function f() { var e=document.getElementById("x"); e.value="x.txt"; } </script> であればセットできるのです どうしたらセットできるでしょうか?

  • ファイルのアップロードができません

    今日始めたばかりの初心者です。 PHPだとCGIに比べ、ファイルのアップロードとか画像の処理が簡単に行えそうなのでチャレンジしてみたのですが、いきなりつまづいてしまいました。 とりあえずファイルをアップロードしてみようと思い、下のようなサンプルをアップロードしてみたのですが、さっぱり動きません。 適当なjpgファイルをアップロードすれば、スクリプトのあるディレクトリに”aaa.jpg”という名前で保存すると思うのですが…。 最後の”var_dump($_FILES);”という命令で、アップロードされたファイルの内容を表示させてるはずなのですが、ファイル送信前も後も”array(0) {}”としか表示されません。 PHPのバージョンは4.34です。 どなたかご教授お願いします。 ************************ <form enctype="multipart/form-data" method="post"> Upload File:<input name="userfile" type="file"> <input type="submit" value="Send File"> </form> <pre> <?php if (!empty($_FILES)) { move_uploaded_file($_FILES['userfile']['tmp_name'],'aaa.jpg'); } var_dump($_FILES); ?> </pre> ************************

    • ベストアンサー
    • PHP
  • input type="file"の入力チェック

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

    • 締切済み
    • PHP

専門家に質問してみよう