Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 输入类型=文件更改事件赢得';调用用户定义的函数时不会触发_Javascript_Html - Fatal编程技术网

Javascript 输入类型=文件更改事件赢得';调用用户定义的函数时不会触发

Javascript 输入类型=文件更改事件赢得';调用用户定义的函数时不会触发,javascript,html,Javascript,Html,我似乎无法对输入类型的文件进行onchange fire。如果我直接调用一个警报(比如onchange=“alert('a')”),它会触发,但是如果我调用一个内部只有警报的用户定义函数,它不会触发。见下文: html: <input type='file' value='C:\fakepath' onchange="previewFile()"/> 这不起作用的原因有点像是使用JSFIDLE的产物。在左侧面板中,您指定执行JavaScriptonLoad。您需要使用选项No wr

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

html:

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

这不起作用的原因有点像是使用JSFIDLE的产物。在左侧面板中,您指定执行JavaScript
onLoad
。您需要使用选项
No wrap-in
,这通常是将JS放在真正的HTML文件中的位置。更改该选项/使用更改的选项查看此版本的小提琴


以下是您问题的答案。为此使用jQuery,并在“我的代码”中编写代码来代替警报。
$(“输入[type=file]”)。绑定(“更改”,函数(){
警惕();

});

:/下面是代码。如果您不想单击,请删除click这个词或使用上面的代码。谢谢,我会试试这个OK,我没有使用wrap-in,它可以在JSFIDLE中工作。这意味着js在html的主体中,对吗?有趣的是,我问这个问题是因为我的原始脚本没有工作,即使它在正文底部ContentPlaceHolder中的脚本标记中……好的,我已经删除了输入类型文件中的runat=“server”,现在它突然工作了。你知道为什么吗?看起来输入元素的id用runat=server更改了。除了删除runat=server之外,我还能做些什么?
function previewFile() {
    alert("a");
}