2013-08-07 105 views
2

时,jQuery submit()在IE中不起作用我想使用提交输入触发文件输入中的单击操作,并提交表单本身。点击提交按钮将打开一个文件选择器窗口,关闭后将提交表单。我使用此代码:当<input type =“file”>形式为

<?php 
    var_dump($_FILES); 
    echo "<br>".time(); 
?> 

<!doctype html> 
<html> 
<head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
    <script> 
    $(document).ready(function() { 
     $("#uploadform").submit(function() { 
     $("#file", this).click(); 
     return false; 
     }); 

     $("#uploadform #file").change(function() { 
     $(this).closest("#uploadform").unbind('submit').submit(); 
     }); 
    }); 
    </script> 
</head> 
<body> 
    <form id="uploadform" name="uploadform" method="post" enctype="multipart/form-data"> 
    <input type="file" name="file" id="file" style="position:absolute; top:0; left:0; visibility: hidden"> 
    <input type="submit" value="Submit"> 
    </form> 
</body> 
</html> 

在FF和WebKit这工作得很好,但在IE在调用时提交()的形式没有提交。您可以看出,因为页面顶部的PHP生成的当前时间没有改变。我尝试在setTimeout()调用中提交表单,但没有骰子。我在控制台或其他地方没有错误。

+0

@PauloTomé:标签链接这样的任意关键字是超级分心。请将这些链接的使用限制在对这个问题有帮助的人群中。 – Shog9

回答

3

IE有一个安全检查,如果用户没有实际点击文件上传按钮本身,那么它不会提交表单。

你不能使用javascript来为他们做。

相关问题