<input type="text" id="t1"/>
<input type="text" id="t2"/><script>
t = new Array("t1","t2");
for(var i = 0;i < t.length;i++){
var obj = document.getElementById(t[i]);
alert(obj);
obj.onblur = function(){
alert(i);
}
}
</script>
我想分别给t1、t2两个文本加上onblur事件,目标是显示数组t中文本域ID的下标。就是t1在onblur中显示alert(0),t2显示alert(1)。但是由于当前传进的是变量i,所以在运行时会把alert(i)加入到onblur事件中,触发事件后寻找i变量,而且遍历时的下标了,如何才能取到i在遍历时,0,1这些数值呢?
<input type="text" id="t2"/><script>
t = new Array("t1","t2");
for(var i = 0;i < t.length;i++){
var obj = document.getElementById(t[i]);
alert(obj);
obj.onblur = function(){
alert(i);
}
}
</script>
我想分别给t1、t2两个文本加上onblur事件,目标是显示数组t中文本域ID的下标。就是t1在onblur中显示alert(0),t2显示alert(1)。但是由于当前传进的是变量i,所以在运行时会把alert(i)加入到onblur事件中,触发事件后寻找i变量,而且遍历时的下标了,如何才能取到i在遍历时,0,1这些数值呢?
t = new Array("t1","t2");
for(var i = 1;i <= t.length;i++){
var obj = document.getElementById(t[i]);if (typeOf(obj ) != "undefined")
{
obj.onblur = function()
{
alert(i);
}}}
</script>
<input type="text" id="t1" onblur="alert(0)"/>
<input type="text" id="t2" onblur="alert(1)"/>
现在失败的效果是
<input type="text" id="t1" onblur="alert(i)"/>
<input type="text" id="t2" onblur="alert(i)"/>
<input type="text" id="t2"/><script>
t = new Array("t1","t2");
for(var i = 0;i < t.length;i++){
var obj = document.getElementById(t[i]);
obj.on("onblur",function(){
alert(i);
}
}
</script>
<html>
<head>
<title>免发短信保单号管理</title>
</head><body>
<input type="text" id="t1" onfocus="test(this)"/>
<input type="text" id="t2" onfocus="test(this)"/>
</body>
<script>
var test = function(e)
{
t = new Array("t1","t2");
for(var i = 0;i < t.length;i++){
var obj = document.getElementById(t[i]);
if(e == obj)
{
alert(i);
}
}
}
</script>
</html>