Как насчет:
input.type = "text";
input.type = "file";
Мне еще нужно понять, почему это не работает с webkit .
В любом случае, это работает с IE9>, Firefox и Opera.
Ситуация с webkit такова, что я не могу изменить его обратно на файл.
С IE8 ситуация такова, что он выдает исключение безопасности.
Edit:
Для webkit, Opera и Firefox это работает, хотя:
input.value = '';
(проверьте приведенный выше ответ с этим предложением)
Я посмотрю, смогу ли я найти более удобный способ сделать этот кросс-браузер без GC.
Edit2:
try{
inputs[i].value = '';
if(inputs[i].value){
inputs[i].type = "text";
inputs[i].type = "file";
}
}catch(e){}
Работает с большинством браузеров. Не работает с IE <9, вот и все. <br>
Протестировано на Firefox 20, Chrome 24, Opera 12, IE7, IE8, IE9 и IE10.