А почему не устраивает вариант с удалением и вставкой нового? Некоторые браузеры умеют очищать поле присванием value пустой строки. Зачем четыре функции, а если будет на странице десять форм, то функций станет десять?
Ваша идея может быть реализована, например, так
function ClearFile ( idForm ) {
var form = document.getElementById(idForm),
formElem,
values = [],
i = 0;
for ( ; (formElem = form.elements[i++]); ) {
if ( /^(?:radio|checkbox)$/.test( formElem.type ) ) {
values[i] = formElem.checked;
} else if ( formElem.nodeName.toLowerCase() == "select" ) {
values[i] = formElem.selectedIndex;
} else if ( formElem.nodeName.toLowerCase() != "fieldset" && formElem.type != "file" ) {
values[i] = formElem.value;
}
}
form.reset();
for ( i= 0; (formElem = form.elements[i++]); ) {
if ( /^(?:radio|checkbox)$/.test( formElem.type ) ) {
formElem.checked = values[i];
} else if ( formElem.nodeName.toLowerCase() == "select" ) {
formElem.selectedIndex = values[i];
} else if ( formElem.nodeName.toLowerCase() != "fieldset" && formElem.type != "file" ) {
formElem.value = values[i];
}
}
from = formElem = null;
}