除IE8外,其他地方都可以使用。提交永远不会触发。我尝试取出对话框并离开提交,但IE8中仍然没有任何反应。
使用Javascript:
$(function () {
$("#fileUpload").click(function () {
$("#fileButton").click();
});
});
$(function () {
$("#fileButton").change(function () {
$("#dialogUploading").dialog({
dialogClass: 'no-close',
modal:true,
async:true
});
$("#formSubmit").submit();
});
});
HTML:
using (Html.BeginForm("ReferralUpload", "ReferralNetwork", FormMethod.Post, new { enctype = "multipart/form-data", id = "formSubmit", style = "display:inline" }))
{
<input type="file" id="fileButton" name="fileButton" style="display:none" />
<button type="button" id="fileUpload" style="width:250px;">Upload Referrals</button>
}
有什么想法吗?谢谢!
答案 0 :(得分:0)
您可以尝试将$("#fileButton").change(function () {
更改为$("#fileButton").change(function (e) {
,看看是否有所作为?我认为IE需要通过的事件让它感到高兴。
哦,对$("#fileUpload").click(function () {
到$("#fileUpload").click(function (e) {
答案 1 :(得分:0)
确保您使用的是正确版本的jQuery。 版本2及更高版本与IE8不兼容。
答案 2 :(得分:0)
经过进一步研究,我发现无法完成jQuery : simulating a click on a <input type="file" /> doesn't work in Firefox?。不是没有一些hackery。在IE8中,无法以编程方式单击文件输入,也无法提交。一个hack是将不透明度设置为零并在按钮上有一个图像: http://www.quirksmode.org/dom/inputfile.html