日期:2014-05-16  浏览次数:20374 次

HTML 如何重置在javascript中更改的数据?
初学html,遇到这个问题不知道如何解决,请教:
<html>
<head>
<script type="text/javascript">
function radio_click_on()
{
document.getElementById("myForm").name.disabled=false;
}
function radio_click_off()
{
document.getElementById("myForm").name.disabled=true;
}

function formReset()
{
document.getElementById("myForm").reset();
}
</script>
</head>

<body>
<p>How to reset all data?</p>

<form name="form0" id="myForm">
Switch:<input type="radio" name="switch" value="Enable" checked="checked" onclick="radio_click_on()">Enable
<input type="radio" name="switch" value="Disable" onclick="radio_click_off()">Disable<br />
Name:<input name="name" type="text" size="20"><br />
Age:<input name="age" type="text" size="20"><br />
<br />
<input type="button" onclick="formReset()" value="Cancel">
</form>
</body>

</html>

运行后将Switch置为Disable,那么Name被禁用,然后点Cancel按钮,Name不能被重置阿。如何解决这个问题阿?试了很多办法都没成功,也不懂JavaScript。。。

------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

那就在加个判断:
function formReset() { 
      if(初始值设置为enable){document.getElementById("myForm").name.disabled=false; }
      else{document.getElementById("myForm").name.disabled=true; }      
      document.getElementById("myForm").reset(); 

这样也不行的哦,你想阿,如果用户并没有改这一项,那么你这么做不就给它弄反了?

看这样写行不:

function formReset()
{
document.getElementById("myForm").reset();
if(document.getElementById("enable").checked==true){
document.getElementById("myForm").name.disabled=false;
}else{
document.getElementById("myForm").name.disabled=true;
}
}

首先调用一次reset()方法还原按钮的初始值,不是input按钮没恢复么,再判断一下默认的单选框选择的是哪一个,单独对input框设置一次就行了
修改了一下:

if(document.getElementById("enable").checked==true)