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

 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()方法来获取页面中部分控件,并初始化他们的值。

相关文章: