调用用户定义的函数时,不会触发输入类型=文件onchange事件

时间:2014-09-18 03:24:36

标签: javascript html

我似乎无法为输入类型的文件进行onchange fire。如果我直接调用一个警报(比如onchange =“alert('a')”),它会触发,但如果我调用一个只有内部警报的用户定义函数,它就不会。见下文:

html:

<input type='file' value='C:\fakepath' onchange="previewFile()"/>

脚本:

function previewFile() {
    alert("a");
}

http://jsfiddle.net/vDQxj/276/

2 个答案:

答案 0 :(得分:1)

不工作的原因是使用JSFiddle的一种神器。在左侧面板中,您指定执行JavaScript onLoad。您需要使用选项No wrap - in < head >,这通常是您将JS放在真实HTML文件中的位置。更改该选项/检查此版本的小提琴,选项已更改。

http://jsfiddle.net/pxsjjgx5/

答案 1 :(得分:1)

以下是您的问题的答案。使用jQuery并在我的代码中编写代码代替alert。 $("input[type=file]").bind("change", function() { alert(); });