后台如何取checkbox的值

zhentamadenanqi 2010-05-16 02:21:58
小弟做了一个表格,在ID列上做了checkbox,value为当行的ID,然后在JS中用document.getElementById("c").value获得它的值。<input type="checkbox" name="c" value="{id}" onclick="getcheckboxvalue()">
<script>
function getcheckboxvalue(){
var a=document.getElementById("c").value;
window.location.href="getNewsList.do?checkboxvalue="+a;
}
</script>

我想当点击选中一个checkbox时,用JS函数把checkbox的value中的id传到后台。。我在后台用request.getParameter("checkboxvalue");却怎么也取不到值。请问各位大侠,该怎么取,是我事件用的有问题吗?
...全文
403 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhentamadenanqi 2010-05-17
  • 打赏
  • 举报
回复
奶牛兄:如果直接在 function checkboxupdate() {
//var val = passcheckboxvalue(val);//这里拿不到,为什么呢?
//alert("vvvvvv" + val);
var val = document.getElementById("cb").value;
alert(val);
// window.location.href = "tomodifyNews.do?method=tomodifyNews&newsid="
// + val;
}
这里用 var val = document.getElementById("cb").value;来取我就不用费这么大劲了.
我之所以定义function passcheckboxvalue(val){
alert("pppp"+val);//
}
是因为,checkbox肯定不是一个咯,我根据
<input id ="cb" name="c" type="checkbox" value="${info.id}" onclick="passcheckboxvalue(this.value)">
里的this.value来获得,当我选哪一个的时候,就得到它的value.
shanyue520 2010-05-17
  • 打赏
  • 举报
回复
顶一下啊,虽然我不懂这个
oxcow 2010-05-17
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 zhentamadenanqi 的回复:]
<input id ="cb" name="c" type="checkbox" value="${info.id}" onclick="passcheckboxvalue(this.value)">
function passcheckboxvalue(val){
alert("pppp"+val);//这里是可以拿到值的
}
function checkboxupdate(){
……
[/Quote]
你要在checkboxupdate取出val的值?val在checkboxupdate中并没用定义啊,怎么能拿出来呢!
非要在checkboxupdate中拿val 可以这样写:
<input id ="cb" name="c" type="checkbox" value="真是费劲" onclick="passcheckboxvalue(this.value)">
<input type="button" value="修改" onclick="checkboxupdate()"/>

<script type="text/javascript">
function passcheckboxvalue(val) {
alert("pppp" + val);//这里是可以拿到值的
}
function checkboxupdate() {
//var val = passcheckboxvalue(val);//这里拿不到,为什么呢?
//alert("vvvvvv" + val);
var val = document.getElementById("cb").value;
alert(val);
// window.location.href = "tomodifyNews.do?method=tomodifyNews&newsid="
// + val;
}
</script>
SNOYC 2010-05-17
  • 打赏
  • 举报
回复
2楼正解!
zhentamadenanqi 2010-05-17
  • 打赏
  • 举报
回复
<input id ="cb" name="c" type="checkbox" value="${info.id}" onclick="passcheckboxvalue(this.value)">
function passcheckboxvalue(val){
alert("pppp"+val);//这里是可以拿到值的
}
function checkboxupdate(){
var val=passcheckboxvalue(val);//这里拿不到,为什么呢?
alert("vvvvvv"+val);
window.location.href="tomodifyNews.do?method=tomodifyNews&newsid="+val;
}
<input type="button" value="修改" onclick="checkboxupdate()"/>
改了,这里还是拿不到值alert("vvvvvv"+val);
oxcow 2010-05-17
  • 打赏
  • 举报
回复
大哥:来看看你的调用<input type="button" value="修改" onclick="checkboxupdate()"/>
在看看你的checkboxupdate
function checkboxupdate(val){
...
}
看出来了吧!
zhentamadenanqi 2010-05-17
  • 打赏
  • 举报
回复
<input id ="cb" name="c" type="checkbox" value="${info.id}" onclick="passcheckboxvalue(this.value)">
function passcheckboxvalue(val){
alert("pppp"+val);//这里是可以拿到值的
}
function checkboxupdate(val){
var val=passcheckboxvalue(val);//这里拿不到,为什么呢?
alert("vvvvvv"+val);
window.location.href="tomodifyNews.do?method=tomodifyNews&newsid="+val;
}
<input type="button" value="修改" onclick="checkboxupdate()"/>
回楼上的兄弟,怪我代码没贴全.
oxcow 2010-05-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zhentamadenanqi 的回复:]
<input id ="cb" name="c" type="checkbox" value="${info.id}" onclick="passcheckboxvalue(this.value)">
function passcheckboxvalue(val){
alert("pppp"+val);//这里是可以拿到值的
}
function checkboxupdate(val)……
[/Quote]
你在标签中调用的是onclick="passcheckboxvalue(this.value)">,所有当然拿不到了。checkboxupdate没被调用,怎么会会有val呢!
zhentamadenanqi 2010-05-17
  • 打赏
  • 举报
回复
<input id ="cb" name="c" type="checkbox" value="${info.id}" onclick="passcheckboxvalue(this.value)">
function passcheckboxvalue(val){
alert("pppp"+val);//这里是可以拿到值的
}
function checkboxupdate(val){
var val=passcheckboxvalue(val);//这里拿不到,为什么呢?
alert("vvvvvv"+val);
window.location.href="tomodifyNews.do?method=tomodifyNews&newsid="+val;
}
brainwkernighan 2010-05-17
  • 打赏
  • 举报
回复
lz是想将checkbox的一系列值 传递给另一个页面 还是某一个值?如果是某一个值的话很简单。如果是checkbox的一系列值,一般要用post,不是用get。用get会丢失参数。
还有lz的id和name取值方法要正规一点吧。在传之前先alert看看。是单个值还是数组值。
LingXX0103 2010-05-17
  • 打赏
  • 举报
回复
checkbox基本不用value 只判断是否选中
客户端:
if (form1.c.checked){
do something
}
服务器:
if (Request.Form("c").Item=="on"){
do something
}
zhentamadenanqi 2010-05-17
  • 打赏
  • 举报
回复
回3楼的兄弟,上面这段代码,是临时在发贴的时候写的,我在我的代码里是有ID属性的.我也按2楼的兄弟的方法改了,可是现在报我那个函数没有定义,我开始以为我的JS位置放错了.但是无论把它放到INPUT上面还是下面,都不可以.到底是怎么回事呢?
oxcow 2010-05-17
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 zhentamadenanqi 的回复:]
奶牛兄,你真幽默啊~~~真是费劲1,真是费劲2,真是费劲3,真是费劲4....教我有这么费劲吗?-_-~!谢谢你,一直帮我,直到解决问题.我代表CCTV,CHINAV,代表祖国和人民感谢你```!!哈哈
[/Quote]

呵呵,开个玩笑了。关键开始没明白你的代码意图!要不然就不用这么费劲了。
zhentamadenanqi 2010-05-17
  • 打赏
  • 举报
回复
奶牛兄,你真幽默啊~~~真是费劲1,真是费劲2,真是费劲3,真是费劲4....教我有这么费劲吗?-_-~!谢谢你,一直帮我,直到解决问题.我代表CCTV,CHINAV,代表祖国和人民感谢你```!!哈哈
oxcow 2010-05-17
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 zhentamadenanqi 的回复:]
奶牛兄:如果直接在 function checkboxupdate() {
//var val = passcheckboxvalue(val);//这里拿不到,为什么呢?
//alert("vvvvvv" + val);
var val = document.getElementById("cb").value;
alert(val);
// window.loca……
[/Quote]
那就声明个全局变量了
var val = null;
<script type="text/javascript">
var sVal = "";
function passcheckboxvalue(val) {
sVal += val+";";
alert(sVal);
}
function checkboxupdate() {
alert(sVal);
}
</script>
</head>
<body>
<input id="cb" name="c" type="checkbox" value="真是费劲1"
onclick="passcheckboxvalue(this.value)">
<input id="cb" name="c" type="checkbox" value="真是费劲2"
onclick="passcheckboxvalue(this.value)">
<input id="cb" name="c" type="checkbox" value="真是费劲3"
onclick="passcheckboxvalue(this.value)">
<input id="cb" name="c" type="checkbox" value="真是费劲4"
onclick="passcheckboxvalue(this.value)">
<input type="button" value="修改" onclick="checkboxupdate()" />
hoojo 2010-05-17
  • 打赏
  • 举报
回复

<input id ="cb" name="c" type="checkbox" value="${info.id}" onclick="passcheckboxvalue(this.value)">
function passcheckboxvalue(val){
alert("pppp"+val);//这里是可以拿到值的
}
function checkboxupdate(){
var val=passcheckboxvalue(val);//这里拿不到,为什么呢? 这里的val不知道是哪里来的,你没有传参数
alert("vvvvvv"+val);
window.location.href="tomodifyNews.do?method=tomodifyNews&newsid="+val;
}
<input type="button" value="修改" onclick="checkboxupdate()"/>

----------------------------------------------------------------
<input id ="cb" name="c" type="checkbox" value="${info.id}" onclick="passcheckboxvalue(this.value)">
function passcheckboxvalue(val){
alert("pppp"+val);//这里是可以拿到值的,这里虽然可以取值,但是你没有把值保存起来,也没有传递给其它方法和属性
}
function checkboxupdate(){
var checkBoxVal = "";
var val= document.getElementsByName("c");
for (var i = 0; i < val.length; i++) {
if (val.checked) {
checkBoxVal += val.value + "";
}
}
alert("vvvvvv"+checkBoxVal);
window.location.href="tomodifyNews.do?method=tomodifyNews&newsid="+checkBoxVal;
}
<input type="button" value="修改" onclick="checkboxupdate()"/>

oxcow 2010-05-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ccppvv 的回复:]
你这里只能取一个值。因为你做了onclick处理。你要选中,那就必须有点击。

这样的话你可以这么写。
<input type="checkbox" name="c" value="{id}" onclick="getcheckboxvalue(this.value)">



JS代码这么写
<script>
function getcheckboxvalue(val){
……
[/Quote]
或者:
把你的这段html 。<input type="checkbox" name="c" value="{id}" onclick="getcheckboxvalue()">
改成 。<input type="checkbox" id="c" value="{id}" onclick="getcheckboxvalue()">就行了
小伙真帅 2010-05-16
  • 打赏
  • 举报
回复
你这里只能取一个值。因为你做了onclick处理。你要选中,那就必须有点击。

这样的话你可以这么写。
<input type="checkbox" name="c" value="{id}" onclick="getcheckboxvalue(this.value)">



JS代码这么写
<script>
function getcheckboxvalue(val){

window.location.href="getNewsList.do?checkboxvalue="+val;
}
</script>



这样你在后台可以用request.getParameter("checkboxvalue");进行接收值了。。


看来楼主没明白getElementById的意思了。你要取值的这个控件一定在有ID才可以取到的。。
happy664618843 2010-05-16
  • 打赏
  • 举报
回复
Request.Form[""]
jimmy1029 2010-05-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ccppvv 的回复:]
你这里只能取一个值。因为你做了onclick处理。你要选中,那就必须有点击。

这样的话你可以这么写。
<input type="checkbox" name="c" value="{id}" onclick="getcheckboxvalue(this.value)">



JS代码这么写
<script>
function getcheckboxvalue(val){
……
[/Quote]
同意一楼的,而且楼主应该在checkbox里加id,你用document.getElementById("c").value,但"c"只是个Name,而不是id,这样怎么会取得到值呢?

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧