BLOG首页 技术 ASP PHP Javascript Database HTML/CSS 娱乐 求知 数码 杂谈 网友留言 垃圾信息
上一年上一月2010年8月下一月下一年
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
■ 关于本人
  • 姓名 : Mr. Gu
  • 省市 : 江苏省苏州市
  • Q Q: 13501615
  • 邮件 : goalercn[AT]gmail.com
  • 职业 : 哎,无业游民
  • 说明 : 抽烟喝酒,打牌吹牛,无所不能。。。
■ 用户登陆
用户:
密码:
   
■ 最新评论
■ 投票调查
您认为火车票实名制可行吗?

■ 日志搜索
  •       
■ 站点统计
■ 日志:632 篇
评论:29 篇
引用:0 个
留言:47 个
会员:346 人
■ 访问:7319156
├ 今日:1062
├ 昨日:2116
├ 本月:1062
├ 上月:79030
└ 建立:2005年4月
■ 赞助网站
多云 又一个关于checkbox的问题原创 | 2006-11-16】
如果一组checkbox:
以下是HTML代码:【运行代码】【复制代码 <form name="aform" method="post" onsubmit="return check()">
<input type="checkbox" name="test[]" id="test1" value="aaaaaa" /><label for="test1">aaaaaa</label>
<input type="checkbox" name="test[]" id="test2" value="bbbbbb" /><label for="test2">bbbbbb</label>
<input type="checkbox" name="test[]" id="test3" value="ccccccc" /><label for="test3">ccccccc</label>
<input type="checkbox" name="test[]" id="test4" value="dddddd" /><label for="test4">dddddd</label>
<input type="checkbox" name="test[]" id="test5" value="eeeeee" /><label for="test5">eeeeee</label>
</form>
注意表单名在这里使用的是:aform
在ASP,你可以直接使用Request("test")来取得这一串被选中的checkbox的值,注意这时这些checkbox的name="test",ASP会直接得到aaaaaa,bbbbbb,cccccc,dddddd,eeeeee这一形式的值;
但是在PHP中,如果使用name="test",用$_POST['test']得到的只有第一个checkbox的值aaaaaa,因此我们为了方便取值,将它改装成数组形式:test[],此时,就需要遍历这个数组的元素。

由于在PHP使用遍历方式来取这些checkbox的值:
以下是PHP代码:【复制代码 $testValue = '';
if(count($_POST['test'])>0) {
for($i=0;$i<count($_POST['test']);$i++) {
$testValue .= $_POST['test'][$i];
if($i+1 < count($_POST['test'])) {
$testValue .= ',';
}
}
}
用javascript怎么来取呢?这样:
以下是Javascript代码:【复制代码 function getArrayValue(strForm,strElement){
var s = '';
with (strForm){
for (var i = 0; i < elements[strElement].length; i++){
if (elements[strElement][i].checked){
s += elements[strElement][i].value + ',';
}
}
}
return s;
}
//strElement与上述对应的应该就是:test[]
//也就是在check()校验函数中使用这样的方式:getValue(document.form1,'test[]')
当从数据库中取出数据,使checkbox自动选中的时候这样做:
以下是Javascript代码:【复制代码 function CheckBoxSel(strForm,strElement,strValue){
var strValue = strValue;
with (strForm){
for (var i = 0;i < elements[strElement].length ;i++){
str_Value = strValue.split(",");
for (var j = 0;j < str_Value.length ;j++ ){
if(str_Value[j] == elements[strElement][i].value){
elements[strElement][i].checked = true;
break;
}
}
}
}
}
//同样道理,SelectedElement(document.form1,'test[]','<?=$testValue?>')
欢迎与我探讨。。。
TAGS:checkbox
■ 用户评论
  • 评论列表
  • 发表评论