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