nodeID 是个串"00"
onclick=div_viewOnclick( nodeID ,this)既
onclick=div_viewOnclick( 00,this)
onclick=div_viewOnclick( "00",this)这个一调用就变成
<script>
div_viewOnclick( 0,this)
{}
</script>
或者说有什么函数ff(00)=00 f("00")="00"
而不时被自动转成了
f(00)=0
onclick=div_viewOnclick( nodeID ,this)既
onclick=div_viewOnclick( 00,this)
onclick=div_viewOnclick( "00",this)这个一调用就变成
<script>
div_viewOnclick( 0,this)
{}
</script>
或者说有什么函数ff(00)=00 f("00")="00"
而不时被自动转成了
f(00)=0
var s="00"
s.tostring(10)好像可以,但是很多时候报错。。说不支持这个方法
AXGTree.xg_TreeArray[i].nodeParentID.toString(10)
onclick=div_viewOnclick( nodeID ,this)
就可以了啊!!!
除非在你的函数div_viewOnclick里面
对nodeID 的操作是按照数字来进行的。
{
with(xgTree){
if (0==xg_GetNodeCount(xgTree,ANodeID)) return;
var tmpNode=xg_TreeSearch(xgTree,ANodeID);
for (var i=0;i<xg_TreeArray.length;i++){
if (ANodeID==xg_TreeArray[i].nodeParentID){
if (0==tmpNode.nodeIsView)
eval(xg_TreeArray[i].nodeDivID+".style.display='inline';");
else
eval(xg_TreeArray[i].nodeDivID+".style.display='none';");
}
}
if (0==tmpNode.nodeIsView){
tmpNode.nodeIsView=1;
AImg.src='OUTMINUS.BMP';
}
else
{
tmpNode.nodeIsView=0;
AImg.src='OUTPLUS.BMP';
}
}
} 函数如上,
这里用了ANodeID==xg_TreeArray[i].nodeParentID
难道是由xg_TreeArray[i].nodeParentID决定的使用类型?
但是xg_TreeArray[i].nodeParentID定义为 function xg_TreeNode(ANodeID,ANodeInnerHtml,ANodeParentID,ANodeDivID){
this.nodeID=ANodeID;
this.nodeInnerHtml=ANodeInnerHtml;
this.nodeParentID=ANodeParentID;
this.nodeDivID=ANodeDivID;
//-- if 0 not view the children else if 1 view the children
this.nodeIsView=0;
}
------this.nodeParentID=ANodeParentID;这一句,这里也没指定类型。。
参数传递的时候,调用参数的类型转换规则如何?
或者说强行保留参数类型,不被作转换?“00”还是“00”不是0
除非你函数中进行了数字运算你是不是在后台直接输出的nodeID 是的话就要在外面加上 '<%=nodeID %> ' 强制传进去的是个string
1。默认情况传进的字符不会自己转变成数字的
除非你函数中进行了数字运算ANodeID==xg_TreeArray[i].nodeParentID只做了判断。
问题是nodeParentID的类型也没定义为了怕出现数字,我把其他xg_TreeArray[i]的所有值
都带上引号。。
问题好像依旧
2。你是不是在后台直接输出的nodeID 是的话就要在外面加上 '<%=nodeID %> ' 强制传进去的是个string
我试验下把
tmpOut+="width='32' height='16' onclick='div_viewOnclick( "+nodeID+",this)' style='color:blue;cursor:hand;'> ";
改为
tmpOut+="width='32' height='16' onclick='div_viewOnclick( '"+nodeID+"',this)' style='color:blue;cursor:hand;'> ";
试验中。。
onclick='div_viewOnclick( \""+nodeID+"\",this)
带个双引号强制作为字符串传递