asp程序里获取checkbox值的问题

'====页面部分(已省略无关部分代码):
<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个回答  推荐于2017-12-15
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,整个过程就是在提交前完成的本回答被提问者采纳

asp怎样获取表单checkbox的值?
默认的情况下checkbox的value的属性值为checkbox 而在ASP中,用request("all")返回checkbox的值的时候 当checkbox控件选中,则返回value的值,否则返回空值 所以你的语句“if request("all") = true then ”的true应该为checkbox控件的value的值。

asp获取复选框的值及对其判断???
首先你要把每个复选框的name改为一样的如都为:checkbox set a a=split(request.form(checkbox),",")\/\/把提交的复选框的值以","分开 那么a[0],a[1]..一直到a[Ubound(a)]就是你选择的对应的复选框的值,Ubound(a)是数组a的最大下标,就是长度。那么你上面的3.asp可以这样写 第三...

asp的checkbox获取值怎么说“缺少标示符” 就是dim sql,rs,new这一行...
dim sql,rs,new中定义的NEW是无效的,因为NEW已经是关键字,不能用作变量名。比如用来定义对象:set new1=new adodb.connection 换一个变量名吧。

怎么获取checkbox(html)中value的值(asp.net)
string d = Request["Checkbox2"].ToString(); 获取到的就是选中的checkbox的value,value之间会以逗号隔开

ASP.NET后台怎么获取.aspx页面的Checkbox的是否选中状态?
客户端控件在服务器端不能获取。必须加上runat="server"。if(Checkbox.checked==true){ \/\/选中状态 } else { \/\/未选中状态 } 只有这种方式,不加runat="server",后台无法获取。在服务器中获取客户端的值必须让其变成服务器端控件。在客户端即可获取客户端控件的值,也可获取服务器端控件的值,说...

asp.net 用button控件怎么实现 对于 checkbox 选中行的值 进行获取 并...
描述不是很清楚, 一般来说,“选中行”这个是出自于表格控件的,也就是问题应该是:点击按钮时如何把某某表格控件中的所有checkbox被选中的行的值传递到另一个页面。那么你应该循环这个表格控件的所有行(记得排除掉头和尾),然后通过findcontrol方法找到这一行的checkbox ,判断checkbox是否checked,如果是...

...遇到了这样的问题,如何从数据库中,读出复选框的值,并让它在页面上...
ASP下方法较多,下面例1:< checkboxValue=request.Form("checkbox")'response.Write("爱好:"&checkboxValue)> 爱好:<input type="checkbox" name="checkbox" value="1" <%if instr(checkboxValue,"1")>0 then %>checked<%end if%> \/> 游泳 <input type="checkbox" name="checkbox" value=...

asp.net(c#)checkbox小问题
Page_Load事件添加如下代码 this.CheckBox1.Attributes.Add("onclick", "if(document.all." + this.CheckBox2.ClientID + ".checked){alert('只能选择一个');document.all."+this.CheckBox1.ClientID+".checked=false;}");this.CheckBox2.Attributes.Add("onclick", "if(document.all." + ...

asp.net 多选框checkbox,怎么去接收后台发给的值
有两种方式:1. HtmlInputCheckBox checkbox = new HtmlInputCheckBox();checkbox.Value = "111";checkbox.Name = "checkbox";2.用一个CheckBoxList 空间后台给它绑定

...然后点击页面上的保存,将选中的checkbox的值存进数据库?
点击事件中执行:循环panel中的所有控件,如果是checkbox,则判断是否选中,如果是,则访问数据库将其保存

相似回答