28298


Javascriptでinput要素のtype=fileで指定するファイルの有無を確認したいのですが使用しているIEのバージョンが8のためFile
APIが使えません。どういったコードを書けば確認できるのでしょうか。fileSizeプロパティを使うなどするのでしょうか。ご教授お願いいたします。


CC BY-SA 3.0
2016-08-16T03:15:32.150
28297
2016-09-22T18:24:39.517
2016-09-22T18:24:39.517
5519
17348
question
javascript
input要素のtype=fileで指定するファイルの有無を確認したい


`value`プロパティで読み取りができる(値の設定はできないが)はずなので、それでファイル名が設定されたかどうか調べられます。

(ディスク上にファイルが存在するかどうかという場合：ファイル選択時にフォルダに存在しないファイル名を入力したとすると受け入れられないはずなので、ディスク上に存在しないファイルは指定ができないはず）

[code]

    function check(){
      if(document.File.UPLOADFILE.value)
        alert("既に設定されています");
      else
        alert("設定されていません");
    }
[/code]

[code]

    <form name="File">
    <input type="file" name="UPLOADFILE">
    </form>
    <br />
    <button onclick="check()">調べる</button>
[/code]


CC BY-SA 3.0
2016-08-16T03:34:47.803
28298
2016-08-16T03:50:34.740
2016-08-16T03:50:34.740
5044
5044
28297
answer


メールアドレス向けに添付で送信されるとのことですので、フォームからデータを受け取ってメールを送信するプログラムの方でファイルの有無をチェックして、エラーとするしかないかと思います。

JavaScriptでフォーム上のエラーチェックをしても、フォームを受け取るプログラムが直接ブラウザで呼び出されることもあるので、JavaScriptでのバリデーションだけで無くプログラム側でもバリデーションが必要です。

他にもセキュリティ的な注意点もあるので、そういう情報についても勉強されるとよいかと思います。


CC BY-SA 3.0
2016-08-19T01:44:44.523
28361
2016-08-19T01:44:44.523
2605
28297
answer