0

我正在使用 asp 文件上传控件。我不想向用户展示丑陋的 asp.net 控件,所以使用了一些style="width: 0px; height: 0px; overflow: hidden;"将其隐藏。

这是我的html代码

<a id="a">Browse</a>
<div style="width: 0px; height: 0px; overflow: hidden;">
    <asp:FileUpload ID="file" runat="server" />
</div>
<asp:Button ID="btn" runat="server" OnClick="btn_Click" />

我写了我的 jQuery 就绪函数

$(function(){
    $('#a').click(function(){
        $('#file').click();
    });
});

但是此代码不会在 ie 中进行回发。我在 ie 9 中进行测试。尽管它在 Chrome 和 Firefox 中运行良好。

任何人都可以告诉我我的代码有什么问题。或者解决这个问题。

4

1 回答 1

1

您是否查看过 IE Developer tools 以查看 IE 中是否存在任何 javascript 错误?它可能无法找到 ID 为“文件”的控件,因为它是一个服务器控件,并且 ID 是在呈现页面时动态生成的。

使用它来选择服务器控件。

$("#<%= file.ClientID %>").click()

或者您可以使用 jquery 选择器。

$("[id$='file']")
于 2013-11-11T17:48:21.023 回答