单击取消时,<input type =“file”/> onchange属性

时间:2013-01-25 08:56:47

标签: javascript jquery html

我有

<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。改为“”,这就是我想要的。

1 个答案:

答案 0 :(得分:0)

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

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

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

另外:您将函数filename与null进行比较。 你可能想使用input.value