對一個文件域(input type=file)使用了驗證後,咱們總會但願把文件域中的值給清空了,在IE中,因爲安全設置的緣由,是不容許更改文件域的值的,接下來爲你們介紹一下解決方法安全
般來講,在對一個文件域(input type=」file」)使用了驗證後,咱們總會但願把文件域中的值給清空了(不然錯誤的文件仍然會被提交),而在IE中,安全設置的緣由,是不容許更改文件域的值的(也就是不能使用val(「」))
那麼很顯然,咱們就只能換個思路,把這個input元素複製一個,而後將原來的刪除。
在IE下複製元素的時候,其中的值是不會被複制的,因此就達到了清空文件域的目的了。
而在Firefox下,其中的值也會被一同複製,那麼咱們就順便清空一下就作到兼容了。
代碼以下: spa
var file = $("#file") rem
file.after(file.clone().val(""));
file.remove(); input