0

タイトルが示すように.. IE で動作させる方法はありますか?

私は使用しています:

document.getElementById('loadingImage').style.visibility='visible';

為に

<img id="loadingImage" src="images/25.gif" style="padding:0px;margin-bottom:-7px;visibility:hidden;">

しかし、それは機能していません。ありがとう。

編集: このアラートのリストで呼び出され、 ページをリロードして、ファイル拡張子のアップロードスクリプトを検出します

function TestFileType( fileName, fileTypes ) {
if (!fileName) return;

dots = fileName.split(".")
//get the part AFTER the LAST period.
fileType = "." + dots[dots.length-1];

if (fileTypes.join(".").indexOf(fileType) != -1) {
   document.getElementById('loadingImage').style.visibility='visible';
   return true;
} else {
   alert('Please select (.w3g) file only!');
   return false;
}
}

<input name="replay_file" id="replay_file" type="file" accept=".w3g*"/>
<input type="submit" id="upload_file" value="Upload" name="uploadReplay" onClick="return TestFileType(this.form.replay_file.value, ['w3g','.w3g']);" />
<img id="loadingImage" src="images/25.gif" style="padding:0px;margin-bottom:-7px;visibility:hidden;">

PS: 他の質問はあまり関係がなかったので、これは重複した質問ではありません。

4

1 に答える 1

1

これらの2つの変更はどうですか:

this.form.replay_file.valueを次のように置き換えます。

document.getElementById('replay_file').value

この行の最後に不足しているセミコロンを追加します。

dots = fileName.split(".");

ところで、関数の 2 番目の引数を配列として取り、それを文字列に結合します。そもそも文字列として渡してみませんか?

さらに、2 つの配列メンバーのうち、「w3g」は決して一致しません (「.w3g」のみが一致する可能性があります)。これは、ドットで始まる文字列を常に検索するためです...

そして推奨事項:戻り値の型と一貫性を持たせてください。この関数がブール値を返すと予想される場合は、最初の行を次のように変更する必要があります。

if (!fileName) return false;
于 2012-11-07T10:40:17.707 に答える