作者ckw (要昵称作啥)
看板Web_Design
标题Re: [问题] 表单问题
时间Thu Jul 6 00:25:43 2006
※ 引述《rushcat (嗯)》之铭言:
: 目前是想做两个radio 当 radio a 的值为1的时候 radio b 才会跑出来
: 爬了一下文 有找到div的用法@"@
: 但是有点怪怪的XD
[script部分恕删]
我觉得你的说法怪怪的。
因为两个radio都是a,但个别的value是固定的。
与其说"radio a的值为1的时候要如何",
不如改为"被点选的那个radio a的值为1时要如何"比较正确。
: <div id="test1" style="display:block" >
: <input type="radio" name="a" value="1" id="aaa" onblur="show(test2)" />
: <input type="radio" name="a" value="2" id="aaa" onblur="show(test2)" />
: </div>
: <div id="test2" style="display:none">
: <input type="radio" name="b" value="1" />
: <input type="radio" name="b" value="2" />
: </div>
: 目前是按a 第二个 b不会出来 按第一个会出来
: 但是再按一次第二个 他还是不会不见XD (有点像绕口令)
: 简单来说 就是出的来 收不回去...orz
: 请问是哪里出了错
: 感激大家!!~
以下是举例:
<input type="radio" name="a" value="1" onclick="show(this)"/>
<input type="radio" name="a" value="2" onclick="show(this)"/>
function show(obj){
if (obj.value == "1"){
//value为1的radio被点选→显示test2
}
else {
//value为2的radio被点选→隐藏test2
}
}
你也可以把obj.type,obj.value,obj.name这些,
用alert丢出来看,就像alert(obj.type);这样,看看内容是什麽。
我觉得这种写法很好用就是 XD
忘了补充一点,写多个同样的id,在其他浏览器会怎样我不清楚,
但是在IE上面并不会出错。只是document.getElementById抓到的,
一定会是第一个id,抓不到後面的。所以原PO抓到的aaa,永远都是
value为1的aaa,自然不会有2的情形出现。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.229.7.173
※ 编辑: ckw 来自: 61.229.7.173 (07/06 00:37)
1F:推 rushcat:sorry...XDD 因为最近才刚开始接触JS的东西 完全没有概念 07/06 00:41
2F:→ rushcat:至於最前面的那段 因为我把radio看成是一个单选元件 07/06 00:43
3F:→ rushcat:所以认定他们是一组的 才会有这样的说法...XD 07/06 00:43
4F:推 ckw:javascript要debug比较麻烦,若一直找不到,就要alert 07/06 00:44
5F:→ ckw:以你的为例,为何一直跑不进else呢? 07/06 00:45
6F:→ ckw:那就把obj.value丢出来看,就会发现凶手是他了 07/06 00:45
7F:→ ckw:至於radio本来就是单选元件啊,所以name一定要相同 07/06 00:46
8F:→ ckw:不同的话会变成好几个都被点选 XDD 07/06 00:47
9F:推 rushcat:所以我才会说出"radio a的值为1"的这种说法...XD 07/06 00:48
10F:→ elan:ckw想说的是虽然name都是a 但实际上是个别的element 07/06 12:18
11F:→ elan:乾脆改成"值为1的radio a"好了 07/06 12:20
12F:推 elan:ckw兄您就别抓语病了 中文的逻辑结构本来就比较松散 07/06 12:22
13F:→ ckw:我只是想表达若想法错了,code就有可能写错这样啦:P 07/06 12:54
14F:推 rushcat:了解!!! 上了很棒的一课:p 07/06 13:12