asp程序里获取checkbox值的问题
'====页面部分(已省略无关部分代码):<inputtype=checkboxname=powerid=powervalue=1>工单录入<inputtype=chec...
'====页面部分(已省略无关部分代码):
<input type=checkbox name=power id=power value=1>工单录入
<input type=checkbox name=power id=power value=1>工单受理
<input type=checkbox name=power id=power value=1>工单查询
<input type=checkbox name=power id=power value=1>工单管理
<input type=checkbox name=power id=power value=1>生成报表
'====逻辑处理部分(已省略无关部分代码):
power=split(request("power"),",")
for i=0 to Ubound(power)
Response.Write power(i)
next
现在的问题是,上面的5个复选框,若选中其中三项,不管我选的是哪任何三项,程序返回的结果都是“111”,在asp中获取同名的checkbox时,仅返回已勾选的,未勾选的直接完全被无视了。
我是想实现这样的结果:
比如在上面的五个复选框里,不管我选哪任意n项,没有选中的复选框也应给个判断结果标识,这样我可以利用这个标识进行逻辑处理,比如我勾选了1,2,3项时,经处理后生成字符串“11100”,或勾选了“1,3,5”项时,经处理后生成字符串“10101”。
仅求比较简便的处理方法,若是通过修改各个复选框value值后再做历遍处理的那些办法就算了。
求大神赐教! 展开
<input type=checkbox name=power id=power value=1>工单录入
<input type=checkbox name=power id=power value=1>工单受理
<input type=checkbox name=power id=power value=1>工单查询
<input type=checkbox name=power id=power value=1>工单管理
<input type=checkbox name=power id=power value=1>生成报表
'====逻辑处理部分(已省略无关部分代码):
power=split(request("power"),",")
for i=0 to Ubound(power)
Response.Write power(i)
next
现在的问题是,上面的5个复选框,若选中其中三项,不管我选的是哪任何三项,程序返回的结果都是“111”,在asp中获取同名的checkbox时,仅返回已勾选的,未勾选的直接完全被无视了。
我是想实现这样的结果:
比如在上面的五个复选框里,不管我选哪任意n项,没有选中的复选框也应给个判断结果标识,这样我可以利用这个标识进行逻辑处理,比如我勾选了1,2,3项时,经处理后生成字符串“11100”,或勾选了“1,3,5”项时,经处理后生成字符串“10101”。
仅求比较简便的处理方法,若是通过修改各个复选框value值后再做历遍处理的那些办法就算了。
求大神赐教! 展开
1个回答
展开全部
id在一个页面中,只能有一个,你这儿出现了5个,是不正确的,虽然不影响ASP运行,但客户端的是影响的。修改它一下,或是直接去掉
================
将name改为powe1-5
dim powe
powe=","
if request("power1")="" then
powe=powe&"0"
else
powe=powe&"1"
end if
......
做5个
最后得到powe的值为",0,0,0,1,1"
你再做成数组
从1开始取,别从0开始取
===========================
或用JQ代码来完成。具体如下
<html>
<head>
<script type="text/javascript" src="http://www.w3school.com.cn/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("form").submit(function(){
var arrpower = new Array(5);
$(":checkbox").each(function(n){
if($(this).attr("checked")){
arrpower[n]=1
}else{
arrpower[n]=0
}
});
$("#power").val(arrpower);
alert($("#power").val());//这一行,只是测试,你可以去掉它。
});
});
</script>
</head>
<body>
<form name="form1" action="" method="post">
<input type=hidden name=power id=power value="">
<input type=checkbox name=power1 id=power1 value=1>工单录入
<input type=checkbox name=power2 id=power2 value=1>工单受理
<input type=checkbox name=power3 id=power3 value=1>工单查询
<input type=checkbox name=power4 id=power4 value=1>工单管理
<input type=checkbox name=power5 id=power5 value=1>生成报表
<input type="submit" value="Submit">
</form>
</body>
</html>
===========
用JQ时,checkbox的值就无所谓了,因为JQ会判断这个是否选中,如果选中就是1,如果没选中就是0,并自动将结果做成数组,并以字符串的方式赋值给那个隐藏的input,整个过程就是在提交前完成的
================
将name改为powe1-5
dim powe
powe=","
if request("power1")="" then
powe=powe&"0"
else
powe=powe&"1"
end if
......
做5个
最后得到powe的值为",0,0,0,1,1"
你再做成数组
从1开始取,别从0开始取
===========================
或用JQ代码来完成。具体如下
<html>
<head>
<script type="text/javascript" src="http://www.w3school.com.cn/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("form").submit(function(){
var arrpower = new Array(5);
$(":checkbox").each(function(n){
if($(this).attr("checked")){
arrpower[n]=1
}else{
arrpower[n]=0
}
});
$("#power").val(arrpower);
alert($("#power").val());//这一行,只是测试,你可以去掉它。
});
});
</script>
</head>
<body>
<form name="form1" action="" method="post">
<input type=hidden name=power id=power value="">
<input type=checkbox name=power1 id=power1 value=1>工单录入
<input type=checkbox name=power2 id=power2 value=1>工单受理
<input type=checkbox name=power3 id=power3 value=1>工单查询
<input type=checkbox name=power4 id=power4 value=1>工单管理
<input type=checkbox name=power5 id=power5 value=1>生成报表
<input type="submit" value="Submit">
</form>
</body>
</html>
===========
用JQ时,checkbox的值就无所谓了,因为JQ会判断这个是否选中,如果选中就是1,如果没选中就是0,并自动将结果做成数组,并以字符串的方式赋值给那个隐藏的input,整个过程就是在提交前完成的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询