我要用js传递选中的值,但传不过去。
<input type=checkbox name=asd value=wqe checked>
<input type=checkbox name=asd value=234>
<input type=checkbox name=asd value=656>
<input type=checkbox name=asd value=yu>
<input type=checkbox name=asd value=567>
<a href="javascript:window.location.href='aa.htm?id='+asd.value">aaaa</a>
我选了,但老是aa.htm?id=undefined
怎么会事?
但要是是这样就可以
<input type=checkbox name=asd value=234>
<a href="javascript:window.location.href='aa.htm?id='+asd.value">aaaa</a>
但不管你选没选中,都会aa.htm?id=234
多个复选框不能用js传值吗?
问题点数:50、回复次数:5
Top
1 楼z2xx(-)
回复于 2003-11-14 12:50:26 得分 5
这样传不好,用hidden+javascript来做!
Top
2 楼z2xx(-)
回复于 2003-11-14 12:51:53 得分 10
而且你是checkbox,传的是一个数组,怎么可能把数据赋值给一个变量呢!
Top
3 楼longshenwang(清一色!一条小青龙)
回复于 2003-11-14 12:57:56 得分 35
建议 使用radio 代替checkbox 达到同样效果 如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<script>
function test()
{
var j=0;
var el = f1.elements;
var count = el.length;
for (i=0;i<count;i++)
{
if (el[i].type=="radio" && el[i].checked==true){
var xx="aa.htm?id="+el[i].value;
alert(xx);
self.location.href=xx;
}
}
}
</script>
<form name=f1>
<input type=radio name=asd value=wqe checked>
<input type=radio name=asd value=234>
<input type=radio name=asd value=656>
<input type=radio name=asd value=yu>
<input type=radio name=asd value=567>
<a id="bb" href="javascript:test();">aaaa</a>
</form>
</BODY>
</HTML>
Top
4 楼jinsfree(蓝色天使)
回复于 2003-11-14 16:47:48 得分 0
楼上的可以了,或者用string【】aaa= request.getParameterValues(name);
再读数组就可以了
Top
5 楼gzyf(老虫)
回复于 2003-12-09 00:56:48 得分 0
老大您的input的name全部相同怎么传参数呀,这样写虽然html不报错但却是非法的。复选框应该用数组分配给每个选框再分别传值,建议再研究一下JAVASCRIPT中表单的用法
<input type=checkbox name=asd value=wqe checked>
<input type=checkbox name=asd value=234>
<input type=checkbox name=asd value=656>
<input type=checkbox name=asd value=yu>
<input type=checkbox name=asd value=567>
<a href="javascript:window.location.href='aa.htm?id='+asd.value">aaaa</a>
我选了,但老是aa.htm?id=undefined
怎么会事?
但要是是这样就可以
<input type=checkbox name=asd value=234>
<a href="javascript:window.location.href='aa.htm?id='+asd.value">aaaa</a>
但不管你选没选中,都会aa.htm?id=234
多个复选框不能用js传值吗?
问题点数:50、回复次数:5
Top
1 楼z2xx(-)
回复于 2003-11-14 12:50:26 得分 5
这样传不好,用hidden+javascript来做!
Top
2 楼z2xx(-)
回复于 2003-11-14 12:51:53 得分 10
而且你是checkbox,传的是一个数组,怎么可能把数据赋值给一个变量呢!
Top
3 楼longshenwang(清一色!一条小青龙)
回复于 2003-11-14 12:57:56 得分 35
建议 使用radio 代替checkbox 达到同样效果 如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<script>
function test()
{
var j=0;
var el = f1.elements;
var count = el.length;
for (i=0;i<count;i++)
{
if (el[i].type=="radio" && el[i].checked==true){
var xx="aa.htm?id="+el[i].value;
alert(xx);
self.location.href=xx;
}
}
}
</script>
<form name=f1>
<input type=radio name=asd value=wqe checked>
<input type=radio name=asd value=234>
<input type=radio name=asd value=656>
<input type=radio name=asd value=yu>
<input type=radio name=asd value=567>
<a id="bb" href="javascript:test();">aaaa</a>
</form>
</BODY>
</HTML>
Top
4 楼jinsfree(蓝色天使)
回复于 2003-11-14 16:47:48 得分 0
楼上的可以了,或者用string【】aaa= request.getParameterValues(name);
再读数组就可以了
Top
5 楼gzyf(老虫)
回复于 2003-12-09 00:56:48 得分 0
老大您的input的name全部相同怎么传参数呀,这样写虽然html不报错但却是非法的。复选框应该用数组分配给每个选框再分别传值,建议再研究一下JAVASCRIPT中表单的用法