我的JS代码如下
if (fileControl != NoFileMessage) {
if (fileControl.val() != NoFileMessage) {
var valid_extensions = /(.xlsx)$/i;
if (!valid_extensions.test(fileControl.val())) {
alert($("#txtInvalidFileFormatMsg").val());
return false;
}
...
}
}
在第一次执行期间,alert
显示了,然后控件“跳回”到第一个if
语句而不是继续return false
执行,因此代码执行了两次并且alert
显示了两次
因此,警告框会显示两次。关于如何解决这个问题的任何指示?它在其他浏览器中运行良好(包括 IE !)
更新:
一些更深入的了解,这段代码被调用的.change()
事件<input type='file />'
正如我之前所说,代码片段被执行了两次,在深入研究之后,我发现.change()
事件被触发了两次。为什么这种情况只发生在 FX 中?