文件上传无法在Firefox中运行

时间:2011-03-18 22:55:34

标签: javascript jquery asp.net html file-upload

我在我的asp.net页面

       <input id="MyTextBox" runat="server" type="text" name="T1" size="20"/>

       <asp:Button ID="UploadFileButton" runat="server" Text="Upload"  /> 

      <input id="FileUpload" runat="server"  type="file"  style="height: 22px; visibility:hidden;" />

链接到JS脚本:

       $("#UploadFileButton").live("click", function(event) {

            event.preventDefault();

            $("#FileUpload").click();

       });
     $(function() {
       $('#FileUpload').change(function() {
               $("#MyTextBox").val($(this).val());
        });
    });

这意味着当用户点击UploadFileButton时,会显示所选文件选择弹出窗口 用户选择文件后,MyTextBox = Selct文件路径。

我的问题是我的脚本适用于Chrome但不适用于Firefox 如果有人已经遇到这个问题请任何想法。

2 个答案:

答案 0 :(得分:0)

如果您对此进行研究,您会发现在许多浏览器中触发点击<input type='file' />元素是不允许的。只要点击是由实际人工交互触发的,它就可以在Chrome中运行 - 即使另一个元素的点击事件处理程序触发另一个元素的点击事件。不过,我对此只有90%的肯定。

答案 1 :(得分:0)

我遇到了同样的问题,你可以使用这段代码:

<input id="FileUpload" runat="server"  type="file"  style="height: 22px; onchange="fill();"/>

    <script language="javascript">
    function fill()
    {    
      $("#<%=MyTextBox.ClientID%>").val($("#<%=FileUpload.ClientID%>").val())
    }
    </script>