既然你的resultSet是自定义类型,那么
str1=" <td align='center'> <font color='blue' style='cursor:hand;' onclick=findByLayer("+resultSet+","+resultSet.recordSets[i].layerName+",-1)> <u>"+layerNameArr[0]+" </u> </font> </td>"; 中的resultSet 实际上将会调用resultSet.toStng()方法。因为你没有覆写resultSet的toString方法,所以默认输出Object的toString方法,所以那里显示的是[object Object];
str1=" <td align='center'> <font color='blue' style='cursor:hand;' onclick=findByLayer("+resultSet+","+resultSet.recordSets[i].layerName+",-1)> <u>"+layerNameArr[0]+" </u> </font> </td>"; 中的resultSet 实际上将会调用resultSet.toStng()方法。因为你没有覆写resultSet的toString方法,所以默认输出Object的toString方法,所以那里显示的是[object Object];
<a href="www.google.cn">有问题,找谷歌</a>
UP.
那请问三楼的
问题怎么解决
resultSet是一个很大的对象
不可能转换成字符
而且这样传过去
在下面的方法里
也取到了值
比如如果你的参数1想放的是resultSet的总条数, 那么这里就可以写resultSet.totalCount,假如resultSet有totalCount的话。
把'resultSet'这个字符串写到那儿就可以了:
str1=" <td align='center'> <font color='blue' style='cursor:hand;'
onclick='findByLayer(resultSet,参数2,1)......";
还有个问题,你那个报错:抱错 缺少] ........
是因为<td align='center'> <font color='blue' style='cursor:hand;' onclick=findByLayer([object Object],mapname,1)>
这里面的mapname引起的,你想,当你click这个td的时候,有没有一个叫做mapname的对象存在?
所以你第二个参数传递也有问题的。
既然你resultSet都传进来了, 何必在多传一个resultSet.recordSets[i].layerName呢?完全可在findByLayer()中取。
给你写个例子你看看:
<html>
<head>
<title>Argument</title>
<style type="text/css">
body{
margin: 0px;
padding: 0px;
}
</style> </head>
<body>
<div id="container" style="border: solid red 1px; height:20px; width:150px;"></div>
</body>
<script>
function $(id){return document.getElementById(id)};
var a = new Array(3);
a[1] = '1';
a[2] = '2';
a[3] = '3';
function make(arr){
var str = "<input type='text' id='t1' onclick='showArr(a)' />";
alert(str);
document.getElementById('container').innerHTML = str;
}
function showArr(arr){
alert(arr.length);
}
make(a);
</script>
</html>
是笔误
打印 str1 是这样的
<td align='center'> <font color='blue' style='cursor:hand;' onclick=findByLayer([object Object],'mapname',1)> <u>"+layerNameArr[0]+" </u> </font> </td>
那我知道那个出错是什么原因了,<td align='center'> <font color='blue' style='cursor:hand;' onclick=findByLayer([object Object],'mapname',1)> <u>"+layerNameArr[0]+" </u> </font> </td>
里面:onclick=findByLayer([object Object],'mapname',1),他把[object Object]当成对象了。但是当前没有一个[object Object]的对象。