reset 本身就是实现了复位的效果,所以如果你想保存控件的value,就不要将reset按钮类型设为reset.当然如果你要保持reset的功能,那么就需要保存下来控件的value,在reset之后再将值填入。

解决方案 »

  1.   

    呵呵!reset之后全部清空,那就先把数据存在数组里,settimeout("aa()",500);
    aa()
    {if(你的初值为空)
    还原
      

  2.   

    替换reset的功能
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    </HEAD>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var objInit;function init()
    {
      document.moonpiazza.txt1.value='123';
      document.moonpiazza.tea1.value='222';
      // checkbox 1.通过修改其outerHTML改变状态 2. 直接在页面就输出 checked
      // radio 与 checkbox类似
      // document.moonpiazza.chk1.checked=true; 不能记住状态
      document.moonpiazza.chk1.outerHTML='<INPUT TYPE="checkBox" NAME="chk1" checked>chk1 <BR>';
      objInit=document.moonpiazza.cloneNode(true);//记录初始后表单的状态
    }
    function myReset()
    {
      var newElements = document.moonpiazza.elements;
      var InitElements= objInit.elements;  for(var i=0;i<newElements.length;i++)
      {
    newElements[i].outerHTML=InitElements[i].outerHTML;
    /*
    if ((newElements[i].type=='checkbox')||(newElements[i].type=='radio'))
    {
    alert(InitElements[i].checked);
    }
    */

      }
    }
    //-->
    </SCRIPT>
    <BODY onload="init()">
    <FORM METHOD=POST ACTION="" name="moonpiazza">
    <INPUT TYPE="text" NAME="txt1"><BR>
    <INPUT TYPE="text" NAME="txt2"><BR>
    <SELECT NAME="sel1">
      <option>123</option>
      <option>22222</option>
    </SELECT><BR>
    <TEXTAREA NAME="tea1" ROWS="10" COLS="50"></TEXTAREA><BR>
    <INPUT TYPE="checkBox" NAME="chk1" >chk1 <BR>
    对下面控件不起作用
    <INPUT TYPE="checkBox" NAME="chk2" >chk1 <BR>
    <INPUT TYPE="button" value="myReset" onclick="myReset()">
    </FORM>
    </BODY>
    </HTML>
    :_)
      

  3.   

    方法1. 如上例,记住每个元素的状态,reset时重新赋值
    方法2. 和方法1类似,实现方式不同,但较为复杂 
    a. 建立数组,在init()中修改表单,同时修改数组中所对应元素的状态
    b. reset时重新赋值
    方法3. 只实现reset 功能,记住初始后的form的outerHTML,reset时修改form的outerHTML修改方法1中js
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var cFormOuterHTML;function init()
    {
      document.moonpiazza.txt1.value='123';
      document.moonpiazza.tea1.value='222';
      document.moonpiazza.chk1.checked=true; 
      cFormOuterHTML = document.moonpiazza.outerHTML;
    }
    function myReset()
    {
    document.moonpiazza.outerHTML = cFormOuterHTML;
    }
    //-->
    </SCRIPT>
    :_)
      

  4.   

    <BODY>
    <form name=form1>
    <select name=select1>
    <option>aaa</option>
    <option selected>bbb</option>
    <option>ccc</option>
    <option>ddd</option>
    </select>
    <input type=text value="default" name="text1">
    <input type=checkbox name="checkboxs">
    <input type=checkbox name="checkboxs" checked>
    <input type=checkbox name="checkboxs">
    <input type=radio name="radios">
    <input type=radio name="radios" checked>
    <input type=radio name="radios">
    <input type=reset>
    </form>
    <button onclick=test()>change default values</button>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function test(){
    with (document.form1){
    select1.options[0].defaultSelected = true;
    text1.defaultValue="abcde";
    checkboxs[0].defaultChecked = true;
    checkboxs[1].defaultChecked = false;
    checkboxs[2].defaultChecked = true;
    radios[0].defaultChecked = true; }
    }
    //-->
    </SCRIPT>
    </BODY>
      

  5.   

    another sample:<BODY>
    <form name=form1>
    <select name=select1>
    <option>aaa</option>
    <option>bbb</option>
    <option>ccc</option>
    <option>ddd</option>
    </select>
    <input type=text name="text1">
    <input type=checkbox name="checkboxs">
    <input type=checkbox name="checkboxs">
    <input type=checkbox name="checkboxs">
    <input type=radio name="radios">
    <input type=radio name="radios">
    <input type=radio name="radios">
    <input type=reset>
    </form>
    <button onclick=test()>remember current status</button>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function test(){
    with (document.form1){
    text1.defaultValue=text1.value;
    with (select1)
    for (var i=0;i<length;i++)
    options[i].defaultSelected = options[i].selected;
    for (var i=0;i<checkboxs.length;i++)
    checkboxs[i].defaultChecked = checkboxs[i].checked;
    for (var i=0;i<checkboxs.length;i++)
    radios[i].defaultChecked = radios[i].checked;
    }
    }
    //-->
    </SCRIPT>
    </BODY>
      

  6.   

    a better sample with the same functions of last sample:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> emu's sample to remember form status </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="emu">
    <META NAME="Keywords" CONTENT="form,defaultvalue">
    <META NAME="Description" CONTENT="a sample to remember form status">
    </HEAD><BODY>
    <form name=form1>
    <select name=select1>
    <option>aaa</option>
    <option>bbb</option>
    <option>ccc</option>
    <option>ddd</option>
    </select>
    <input type=text name="text1">
    <input type=checkbox name="checkboxs">
    <input type=checkbox name="checkboxs">
    <input type=checkbox name="checkboxs">
    <input type=radio name="radios">
    <input type=radio name="radios">
    <input type=radio name="radios">
    <input type=reset>
    </form>
    <button onclick=test()>remember current status</button>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function test(){
    var elms = document.form1.elements;
    for (var i=0;i<elms.length;i++){
    var elm = elms[i];
    if (elm.defaultValue != null)
    elm.defaultValue=elm.value;
    if (elm.defaultChecked != null) elm.defaultChecked=elm.checked;
    if (elm.options) 
    for (var j=0;j<elm.options.length;j++) 
    elm.options[j].defaultSelected=elm.options[j].selected;
    }
    }
    //-->
    </SCRIPT>
    </BODY>
    </HTML>
      

  7.   

    <BODY onload="Javascript:init()"><form name=frm>......<input value=reset type=button onclick="frm.reset();init()">
    </form>