我在我的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 如果有人已经遇到这个问题请任何想法。
答案 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>