javascript中Form有个reset()方法可以将From中的控件重置,还原为默认值。但是,当页面中的控件有初始值时,reset()方法并不能将控件的值清空,这在很多情况下并不是我们想要的。我这个方法可以将页面中的控件的值完全清空,代码如下:

Code
function clearForm(formName) {
var formObj = document.forms[formName];
var formElemnets = formObj.elements;
for (var i=0; i<formElemnets.length; i++) {
var element = formElemnets[i];
if (element.type == 'submit') { continue; }
if (element.type == 'reset') { continue; }
if (element.type == 'button') { continue; }
if (element.type == 'hidden') { continue; }
if (element.type == 'text') { element.value = ''; }
if (element.type == 'textarea') { element.value = ''; }
if (element.type == 'checkbox') { element.checked = false; }
if (element.type == 'radio') { element.checked = false; }
if (element.type == 'select-multiple') { element.selectedIndex = -1; }
if (element.type == 'select-one') { element.selectedIndex = 0; }
}
}
因为我们知道输入元素的类型,即标签<input> type属性的合法值为:"button","checkbox","file","hidden","image","password",'"radio"',"reset","text"和"submit",就这么几种类型。我们就可以根据这些类型来初始化控件的值。当然我们还可以根据<input>标签的name属性来初始化一部分控件的值,即用document.getElementsByName()方法来获取页面中部分控件,并初始化他们的值。