Jquery 提交按钮上的Mousedown事件与默认的单击行为不一致

Jquery 提交按钮上的Mousedown事件与默认的单击行为不一致,jquery,asp.net-mvc-4,Jquery,Asp.net Mvc 4,我有一个局部视图,其中包含文件输入和提交按钮。 当我尝试在单击submit按钮时禁用文件输入时,HttpPostedFiles在控制器中变为null,我是Jquery新手,因此我猜这可能会干扰submit按钮的默认行为。 当我执行单击解除绑定事件时,整个过程都会撤消,文件输入会再次启用。 因此,我试图在鼠标按下提交按钮时禁用文件输入,同样的问题再次出现。 当我删除此代码时,我会得到已发布的文件 $('#file1').on("click", false); $('#file2').on(

我有一个局部视图,其中包含文件输入和提交按钮。 当我尝试在单击submit按钮时禁用文件输入时,HttpPostedFiles在控制器中变为null,我是Jquery新手,因此我猜这可能会干扰submit按钮的默认行为。 当我执行单击解除绑定事件时,整个过程都会撤消,文件输入会再次启用。 因此,我试图在鼠标按下提交按钮时禁用文件输入,同样的问题再次出现。 当我删除此代码时,我会得到已发布的文件

$('#file1').on("click", false);
    $('#file2').on("click", false);

    $('#file1').css("opacity", "0.5");
    $('#file2').css("opacity", "0.5");
我的观点包括:

@{ Html.BeginForm("ActionName", "ControllerName", FormMethod.Post, 
new { id  "fileUploader",enctype  "multipart/form-data" });}

<div>
<table>
<tr><td><label for="file1">Filename:</label>           
<input type="file" name="files" id="file1" /></td></tr>
<tr><td><label for="file2">Filename:</label>         
<input type="file" name="files" id="file2" /></td></tr>     
<tr><td>  <input type="submit" id="btnUpload" name="Command" Value="Upload"/> </td></tr> </table>
</div>
@{ Html.EndForm();}
$(document).ready(function () {
 $('#btnUpload').click(function (e) {
        $('#file1').attr('disabled', true);
        $('#file2').attr('disabled', true);


    });
});
$('#file1').on("click", false);
    $('#file2').on("click", false);

    $('#file1').css("opacity", "0.5");
    $('#file2').css("opacity", "0.5");
有什么想法可以让我禁用我的文件输入(input type=“file”),而不破坏提交按钮的行为吗

$('#file1').on("click", false);
    $('#file2').on("click", false);

    $('#file1').css("opacity", "0.5");
    $('#file2').css("opacity", "0.5");

提前感谢。

我通过在单击提交按钮时禁用文件输入的单击事件来解决此问题,而不是禁用整个控件,我还将其设置为半透明,以便用户获得禁用的感觉

$('#file1').on("click", false);
    $('#file2').on("click", false);

    $('#file1').css("opacity", "0.5");
    $('#file2').css("opacity", "0.5");

禁用整个控件会使发布的文件为空。

为什么要在mousedown中执行此操作?在单击中执行此操作?提交表单时不发送已禁用的表单元素–因此,您必须在发送表单后禁用它们。您可以向我们提供您尝试过的任何代码吗?@CBroe-您能给我一个在提交后禁用控件的示例吗?有任何事件在提交后被解雇吗?@Bellash:我已经编辑了我的问题,加入了我尝试过的代码。
$('#file1').on("click", false);
    $('#file2').on("click", false);

    $('#file1').css("opacity", "0.5");
    $('#file2').css("opacity", "0.5");