学习做一个jsp页面,其中需要重置按钮,但有些值要保留。
所以写了下面的onClear来处理清空。    function onClear() {    
        var elements = document.getElementsByTagName("input");
        for(i = 0 ; i < elements.length ; i++ ) {
           if(elements[i] == null) {
             continue;
           }
           if(elements[i].type == "text") {
             elements[i].value = "";
           }
           
           if(elements[i].type == "select-one"){
            elements[i].selectedIndex = 0;
           }
           

        }    
        onload();
    }
但select没能清空,不知道是否是type写的不对,请高人指点。
[code]
                <TR>
                    <TH><bean:message key="label.LocationNM" /></TH>
                      <html:select property="locationId">
                         <html:optionsCollection property="listLocationType" value="value" label="label" />
                      </html:select>
                    </TD>
                </TR>
[/code]
如果是使用from.reset(),只能重置为form中的值,而不能设置客户端初始值,比如时间。

解决方案 »

  1.   

                    <TR>
                        <TH><bean:message key="label.labelLocationNM" /></TH>
    <TD>
                          <html:select property="locationId">
                             <html:optionsCollection property="listLocationType" value="value" label="label" />
                          </html:select>
                        </TD>
                    </TR>
      

  2.   


    function onClear() {
        var inputElements = document.getElementsByTagName("input");
        var selectElements = document.getElementsByTagName("select");
        for (i = 0; i < inputElements.length; i++) {
            if (inputElements[i] == null) {
                continue;
            }
            if (inputElements[i].type == "text") {
                inputElements[i].value = "";
            }
        }
        for (i = 0; i < selectElements.length; i++) {
            if (selectElements[i] == null) {
                continue;
            }
            if (selectElements[i] != null) {
                selectElements[i].selectedIndex = 0;
            }
        }
    }
      

  3.   

    汗我之前清空居然是给每个OPTION分配一个ID来着,原来用selectedIndex就可以啊
      

  4.   

    楼主改为5楼那样的  应该就行了吧  开始看就想 var elements = document.getElementsByTagName("input");
    这个怎么能获取select元素