0

我有

<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');
    });
});

这将检测选择的新图像以及退出文件选择窗口时(按取消时)文件的名称 attr。改为“”,这就是我想要的。

4

1 回答 1

0

我不完全确定您所说的“加载”或“文本”是什么意思。加载是否意味着:在输入框中显示?文本是否意味着:文件名 div 中的文本?

文件名 div 中的文本只有在输入框改变时才会改变。点击取消不会改变输入框。

如果点击取消后,输入框中的文件消失了,那么这应该会发生。

另外:您正在将函数文件名与空值进行比较。你可能想使用 input.value

于 2013-01-25T09:14:15.413 回答