页:
[1]
| Tonkin | 2004-11-24 03:41 AM |
|
javascript 怎么样取得 一个表单里所有的 checkbox 的值或状态
一个表单内有N个check box 命名规则为 p[0],p[1],..........
我想在提交数据前,把表单内的 check box 都初始化一次,就是已经选择的 check box 保持原值,没有选择的 check box 的value 改成 0
自己写了一段代码,用在 check box 的 onclick 上可能实现这个功能,但只能改一个 check box的值,但是如果想达到提交前把所有的check box都做一次这种操作,就实现不了,那位大侠明白的,给指点一下迷津。谢谢
代码如下:
<script language="javascript">
<!--
function check_box(a) {
if(a.checked==false){
a.value="0";
}
}
//-->
</script>
<form name="form1" method="post" action="" onSubmit="return check_box();">
<p>
<input name="p[0]" type="checkbox" onclick="check_box(this);" id="p[0]" value="ok">
<input name="p[1]" type="checkbox" onclick="check_box(this);" id="p[1]" value="ok">
<input name="p[2]" type="checkbox" onclick="check_box(this);" id="p[2]" value="ok">
</p>
<p>
<input type="submit" name="Submit" value="Submit">
</p>
</form> |
|
[CODE]
<script language="javascript">
<!--
function check_box() {
var Cbox=document.forms['form1'].elements['p[]'];
if (Cbox.length != undefined){
for(var i=0;i<=Cbox.length-1;i++)
if(Cbox(i).type=='checkbox' && Cbox(i).checked==false)Cbox(i).value=0;
}
}
function GetValue(){
var Cbox=document.forms['form1'].elements['p[]'];
var vas='';
if (Cbox.length != undefined){
for(var i=0;i<=Cbox.length-1;i++)
vas+=Cbox[i].value+',';
}
return vas;
}
//-->
</script>
<form name="form1" method="post" action="" onSubmit="return check_box();">
<p>
<input name="p[]" type="checkbox" onclick="check_box();" id="p[0]" value="ok">
<input name="p[]" type="checkbox" onclick="check_box();" id="p[1]" value="ok">
<input name="p[]" type="checkbox" onclick="check_box();" id="p[2]" value="ok">
</p>
<p>
<input type="submit" name="Submit" value="TEST" onclick="alert(GetValue());">
</p>
</form>
][/CODE] |
| Tonkin | 2004-11-25 05:17 AM |
|
| 经典的代码。我得到的也是这个解决方法,谢谢. |
Powered by Discuz! Archiver 6.1.0
© 2001-2006 Comsenz Inc.
Processed in 0.006026 second(s), 2 queries |