2013-08-07 102 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來爲他們做。

相關問題