اگه به توسعه Ajax ی وب سایتهای خودتون روی آورده باشین قطعاً یکی از دردسر هایی که باهاش مواجه شدین میتونه این باشه که چطور یک فیلد Input از نوع فایل را Reset کنید. چون با خالی کردنش یا Clone گرفتن و این چیزا Reset بشو نیست و مرورگرهای مختلف هم رفتارهای متفاوتی دارند که اگه اینطور نبود جای تعجب داشت مخصوصاً نسخههای قدیمی IE !!!
روش کلی این هست که کل ورودی ها را یا همون input را بگذاریم توی تگ form و حالا فرم را Reset کنیم. اما اگه بخواهیم فقط همون Input را بدون خرابکاری و تگ بازی و دینامیک Reset کنیم میتونیم از این کد استفاده کنیم :
با فرض اینکه اسم id اون Input مورد نظر myfile باشه :
function reset_fileinput(input_id){ e = document.getElementById(input_id); $(e).wrap('<form>').closest('form').get(0).reset(); $(e).unwrap(); } reset_fileinput("myfile");