般來說,在對一個文件域(input type=”file”)使用了驗證後,我們總會希望把文件域中的值給清空了(否則錯誤的文件仍然會被提交),而在IE中,安全設定的原因,是不允許更改文件域的值的(也就是不能使用val(“”)) 那麼很顯然,我們就只能換個思路,把這個input元素複製一個,然後將原來的刪除。 在IE下複製元素的時候,其中的值是不會被複製的,所以就達到了清空文件域的目的了。 而在Firefox下,其中的值也會被一同複製,那麼我們就順便清空一下就做到相容了。 程式碼如下: 複製程式碼 程式碼如下: 程式碼如下: var file = $("#file") file.after(file.clone().val("")); file.remove();