1

我的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 中?

4

0 回答 0