弄糊涂了的问题
function viewGrid(form)
{
var str="";
if (form.cb!=null)
{
if (form.cb.length != null)
{
for (var i=0;i<form.cb.length;i++)
if (form.cb[i].checked)
{
if (str != "") str += ",";
str += form.cb[i].value;
}
}
else
if (form.cb.checked) str=form.cb.value;
if (str!="") window.open("aaa.asp?jid="+str);
else alert('请先选中要显示的岗位!');
}
}
这么一个遍历表格的js函数,用于判断每行前面的复选框是否被选中,然后提取一个值列表
下面两种调用方法:
1、<a href="javascript:viewGrid(this.form);"><img src="aa.jpg" border="0"></a>
单击这个图片时,提示“cb为空或不是对象”
2、<input type="button" onclick="javascript:viewGrid(this.form);">
正确执行
哪位大哥给解释一下,我需要用到第一种方法。
问题点数:50、回复次数:4Top
1 楼hbhbhbhbhb1021(天外水火(我要多努力))回复于 2006-03-03 17:15:55 得分 10
、<a href="javascript:viewGrid(document.getElementById("表单的name"));"><img src="aa.jpg" border="0"></a>Top
2 楼zhaoxiaoyang(梅雪香@深圳)回复于 2006-03-03 19:49:51 得分 10
<a href="#" onclick="javascript:viewGrid(this.form);"><img src="aa.jpg" border="0"></a>Top
3 楼shenjf2000(一路走来)回复于 2006-03-03 20:13:28 得分 20
两者区别在于this引用的对象不同对于第一种方法,this引用的window对象,而对于第二种引用的是这个button按钮。
2、<input type="button" onclick="javascript:viewGrid(this.form);" name=button1>
这里this就表示button1对象本身。而this.form就表示button对象所在的form对象,因此Javascript运行正常。
1、<a href="javascript:viewGrid(this.form);"><img src="aa.jpg" border="0"></a>
这里this表示window对象,因此如果你要引用文档中form对象,应该使用this.document.formname
注意这里是formname而上面直接this.form就可以了。当然使用二楼的document.getElementById("表单的name")也可以,这也是正确因为form对象的方式,实际上他的方式等于this.document.getElementById("表单的name")或者window.document.getElementById("表单的name")Top
4 楼DeluxWorld(曾经的你)回复于 2006-03-03 20:17:32 得分 10
把表单对象取到就可以了,随便什么方法:
<a href="javascript:viewGrid(document.forms['frm']);"><img src="aa.jpg" border="0"></a>
Top




