【问题标题】:Select only one onchange event of Fileupload只选择 Fileupload 的一个 onchange 事件
【发布时间】:2013-01-04 17:53:02
【问题描述】:

我有一个带有母版页的 asp.net 页面。我在子(有母版页)页面上有一个文件上传控件。我正在使用 jquery 的更改事件在子页面上进行文件上传。现在我想出于某些原因从母版页禁用文件上传控制。所以我正在使用这个脚本。

 function blockFileUpload() {
                $('input[type=file]').change(function () {
                    $('input[type=file]').val('');
                    alert("You Can Not Upload File. Files Storage (50 MB) Limit Reached. ");
                    $('input[type=file]').preventDefault();
                    return false;
                });
            }

现在,当调用文件上传更改事件时,两个事件同时工作。那么如何禁用子页面的更改事件并仅挂钩母版页的 onchange 事件。

提前谢谢...

【问题讨论】:

    标签: javascript jquery asp.net file-upload


    【解决方案1】:

    首先取消绑定所有更改事件,然后分配新的更改事件。例如:

    function blockFileUpload() {
                    $('input[type=file]').unbind('change');
                    $('input[type=file]').change(function () {
                        $('input[type=file]').val('');
                        alert("You Can Not Upload File. Files Storage (50 MB) Limit Reached. ");
                        $('input[type=file]').preventDefault();
                        return false;
                    });
                }
    

    代码$('input[type=file]').unbind('change'); 取消绑定与文件输入相关的所有change 事件。

    【讨论】:

    • 我尝试过的相同但对我不起作用,因为此函数首先在母版页中调用,然后在内容页中再次调用 onchnage 事件边界
    • 有一个全局变量IsBlockFileUpload 并在母版页中默认设置为false。在调用blockFileUpload 函数时将其设置为true。在您的子页面中,将change 事件包装在if 循环中,检查IsBlockFileUpload,如果是true,则跳过绑定事件,否则在子页面中绑定事件。
    猜你喜欢
    • 2013-03-06
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    • 2015-08-17
    • 1970-01-01
    • 2012-01-22
    • 1970-01-01
    相关资源
    最近更新 更多