使复选框无效时出现了点问题......(59分)

sature 2002-01-02 06:48:59
以下是我的代码:
<HTML>
<HEAD>
<meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript (ECMAScript)">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<script language="vbscript">
Function enabled()
if document.WebForm1.radio1.checked=false then
document.WebForm1.checkbox1.disabled=true
document.WebForm1.checkbox2.disabled=true
document.WebForm1.checkbox3.disabled=false
document.WebForm1.checkbox3.checked=false
document.WebForm1.checkbox4.disabled=false
else
document.WebForm1.checkbox1.disabled=false
document.WebForm1.checkbox2.disabled=false
document.WebForm1.checkbox3.disabled=true
document.WebForm1.checkbox4.disabled=true
end if
End Function
</script>
</HEAD>
<body>
<form id="WebForm1" method="post" runat="server">
<INPUT type="radio" name="r1" id="radio1" checked onchange="javascript:enabled();"><FONT face="宋体">
是的
<BR>
</FONT><INPUT type="checkbox" id="checkbox1"><FONT face="宋体"> 1
<BR>
</FONT><INPUT type="checkbox" id="checkbox2"><FONT face="宋体"> 2
<BR>
</FONT><INPUT type="radio" name="r1" id="radio2" onchange="javascript:enabled();"><FONT face="宋体">
不是
<BR>
</FONT><INPUT type="checkbox" id="checkbox3" disabled="true"><FONT face="宋体">3
<BR>
</FONT><INPUT type="checkbox" id="checkbox4" disabled="true"> <FONT face="宋体">4</FONT>
</form>
</body>
</HTML>
出现的问题是:当选中了某一个单选框后,浮选框的外观却不发生改变(其实disabled属性已经改变了),只有再点击一下复选框它才改变外观。为什么?
...全文
129 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sature 2002-01-06
  • 打赏
  • 举报
回复
谢谢各位
bestext 2002-01-06
  • 打赏
  • 举报
回复
<form id="WebForm1" ...>中的id改为name
两个radio的onchange改为onclick
biggo 2002-01-04
  • 打赏
  • 举报
回复
你的问题关键在onchange
把onchange改为onclick就没有问题了!
llcnllcn 2002-01-04
  • 打赏
  • 举报
回复
写的什么破东东啊???
llcnllcn 2002-01-04
  • 打赏
  • 举报
回复
应该先设置一个初值,把那些复选框弄一个初值,checked=false就可以,写在enalbed()里面的开头部分,每次调用enabled()的时候都要先把上一次选择的状态清空,然后重新写入状态。复选框的disabled状态应该写在函数里面,不应该写在input里面。如果要想让复选框刚开始就disabled的话,在body onload的时候载入一个函数,把disabled写在那里面就可以了.
abent 2002-01-02
  • 打赏
  • 举报
回复
document.WebForm1
这么引用form对象,你的浏览器没有报错?应该为document.all.WebForm1
这个程序的错误主要是你的radio的事件挑选错误,onchange仅仅限于INPUT type=text, SELECT, TEXTAREA三种元素,radio是没有onchange的,至于为什么离开radio时它会触发一次我无法解释,程序改成onclick="enabled()"即可。
另外,javascript:enabled();的意思是在同一页面中javascript里面调用vbscript的函数,这样效率不高,建议不采用。

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧