2013-01-04 151 views
0

我有一个带有母版页的asp.net页面。我有一个孩子(有母版页)上的文件上传控件。我正在页面上使用jupery的更改事件fileupload。现在我想从母版页的某些原因禁用fileupload控制。所以我正在使用这个脚本。只选择一个FileUpload的onchange事件

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事件。

Thanx提前...

回答

0

解除所有您的更改事件,然后分配您的新更改事件。对于如:

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事件。

+0

相同我已经尝试但不为我工作因为这个函数先在主页面中调用,然后在内容页面onchnage事件边界再次 –

+0

有一个全局变量说'IsBlockFileUpload'并默认设置为'false'母版页。并且在调用'blockFileUpload'函数时将它设置为'true'。在您的子页面中,将'change'事件包装在'if'循环中以检查'IsBlockFileUpload',如果它的'true'则跳过绑定事件,否则绑定子页面中的事件。 – viki