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>
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>
aa()
{if(你的初值为空)
还原
<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>
:_)
方法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>
:_)
<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>
<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>
<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>
</form>