私は持っている
<input type="file" id="file" onchange="filename();" /> <div id='filename'></div>
関数は次のようになります
function filename() {
var input = document.getElementById("file");
if (filename == null) {
document.getElementById("filename").innerHTML = "";
return false;
}
var lastIndex = filename.lastIndexOf("\\");
if (lastIndex >= 0) {
filename = filename.substring(lastIndex + 1);
}
document.getElementById("filename").innerHTML = "The filename is: "+filename+".";
}
私のコードは上記に似ており、正常に動作しますが、ファイルの選択をクリックしてからファイルを選択すると、ファイル名が表示されます。その後、[ファイルを選択] をクリックすると、[キャンセル] をクリックします。ファイルはもうロードされていませんが、ファイル名を示すテキストはまだそこにあります。ファイルフィールドを常に自動的にリッスンし、ファイルの値が空の場合にファイル名を変更する、使用できるコードはありますか?
JavaScriptまたはjQueryを使用してこれを行いたいです。
編集
$("document").ready(function(){
$("#file").change(function() {
alert('changed');
});
});
これにより、選択された新しい画像が検出され、ファイル選択ウィンドウが終了したとき (キャンセルを押したとき)、ファイルの名前属性が検出されます。これは私が望んでいたものです。