0

Internet Explorer は、次のコードに対してこのエラーを生成しています。

SCRIPT5007: Unable to get value of the property '0': object is null or undefined for "document.getElementById('files').files[0]"

...files[0] が null であることは正しいのですが、気にしません。どうすれば IE に気にしないように伝えることができますか?

ありがとう

4

4 に答える 4

3
var elem = document.getElementById('files'),
    file = elem.files && elem.files[0];

undefinedファイルが定義されていない場合、これは短絡して戻ります。それ以外の場合は、最初のファイルを返します。

明確にするために、エラーはそれfilesが未定義の変数であり、プロパティにアクセスすると0エラーが発生することを示します。それfiles[0]自体の場合、式は単に を返しundefinedます。

于 2012-04-27T00:52:22.543 に答える
2

試す...

var file;
if (document.getElementById('files').files){
    file = document.getElementById('files').files[0];
}
于 2012-04-27T00:51:57.050 に答える
0
var file = document.getElementById('files').files[0] || "undefined";
于 2012-04-27T00:53:11.343 に答える