setAttribute的问题

tottyandbaty 2009-09-08 02:24:04
代码如下:


var inp=["p0","p1","p2"];
var inp2=["z1","z2","z3"];
var tab=["t0","t1","t2"];

len=tab.length;
len2=inp.length;
for(x=0;x<len;x++)
{
if(x==id)
{
getElementById(tab[id]).className="selected"
for(y=0;y<len2;y++)
{
if(id==2)
{
//允许手动输入
getElementById(inp[y]).readOnly=false;
getElementById(inp[y]).style.border="solid 1px #F00";

getElementById(inp[y]).setAttribute("onblur",function(){myfunc(this.value,y)});

}
else
{
//不允许手动输入
getElementById(inp[y]).readOnly=true;
getElementById(inp[y]).style.border="none";

}
//其他代码
}
}
else
{
getElementById(tab[x]).className="unselected"
}
}


function myfunc(val,key)
{

forInput(val,key);
forHiden();
setValue();
}


错误的地方出现在:


getElementById(inp[y]).setAttribute("onblur",function(){myfunc(this.value,y)});


IE下显示这样的错误:undefined arguement error,can't find "undefined" element

请问这里到到底要怎么写?attachevent?还是直接obj.onblur?

这样写法有错吗?
...全文
57 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hookee 2009-09-08
  • 打赏
  • 举报
回复
var obj = getElementById(inp[y]);
obj.onblur = (function(n,k){ return function(){myfunc(n.value,k);};})(obj,y);
tottyandbaty 2009-09-08
  • 打赏
  • 举报
回复
这里我检查了typeof(getElementById(inp[y]))返回一个object
tottyandbaty 2009-09-08
  • 打赏
  • 举报
回复
这里我检查了typeof(getElementById(inp[y]))返回一个object
tottyandbaty 2009-09-08
  • 打赏
  • 举报
回复
这里我检查了typeof(getElementById(inp[y]))返回一个object

87,907

社区成员

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

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