在IE中jquery提交失败

时间:2012-10-26 08:38:02

标签: jquery internet-explorer

我有一个问题哪些jquery,它适用于我的Chrome和Firefox,但不适用于IE

代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta content="IE=edge" http-equiv="X-UA-Compatible"/>

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js">
</script>
</head>

<body>

<form method='post' name='aform' action='test2.html'>
<input type='file' value='Upload Billede' name='image[fileupload]' /><input type='button' class='upload image[fileupload]' value='Upload Billede' />
</form>
<script type="text/javascript">
$(document).ready(function(){

bind_file_upload();    
});
function bind_file_upload()
{
    var target_id;
    $("[name='image[fileupload]']").change(function(event){
        $("[name='aform']").submit();
    });
    $(".upload").click(function(){
        $("[name='image[fileupload]']").click();
    });
}

</script>

</body>
</html>

问题是当我直接通过浏览按钮使用文件控件时页面提交,但是当我使用我自己的上传按钮时它会触发filedialog,但是当我选择一个文件并按下打开jquery失败并拒绝权限。

我做错了什么。

提前致谢

2 个答案:

答案 0 :(得分:4)

您的问题是,当您模拟文件输入的点击时,IE会将表单标记为安全威胁,并且不会发送它。 对于IE,您必须让用户单独点击文件输入。

修改

如果您确实要自定义文件输入,可以考虑这一点:http://www.quirksmode.org/dom/inputfile.html

或者您可以使用flash / silverlight插件,您可以根据需要自定义,或者使用Internet Explorer浏览器。

答案 1 :(得分:0)

正如Gregoire D.所说,IE阻止你的表单提交,因为用户点击文件输入不是直接的。所以对于IE我使用下一个解决方案

http://www.quirksmode.org/dom/inputfile.html

那里有两种可能的解决方案。我更喜欢第一个(基于CSS)解决方案。