tl; dr : Untuk peramban modern, cukup gunakan
input.value = '';
Jawaban lama:
Bagaimana tentang:
input.type = "text";
input.type = "file";
Saya masih harus mengerti mengapa ini tidak bekerja dengan webkit .
Bagaimanapun, ini bekerja dengan IE9>, Firefox dan Opera.
Situasi dengan webkit adalah saya sepertinya tidak dapat mengubahnya kembali ke file.
Dengan IE8, situasinya melempar pengecualian keamanan.
Sunting:
Untuk webkit, Opera dan firefox ini berfungsi, meskipun:
input.value = '';
(periksa jawaban di atas dengan proposal ini)
Saya akan melihat apakah saya dapat menemukan cara bersih yang lebih baik untuk melakukan cross-browser ini tanpa memerlukan GC.
Sunting2:
try{
inputs[i].value = '';
if(inputs[i].value){
inputs[i].type = "text";
inputs[i].type = "file";
}
}catch(e){}
Bekerja dengan sebagian besar browser. Tidak bekerja dengan IE <9, itu saja.
Diuji pada firefox 20, chrome 24, opera 12, IE7, IE8, IE9, dan IE10.