这段简单的JS代码有错,怎么改﹖

Frank6600 2005-08-11 06:50:31
<script language="Javascript">
o=document.Form.elements;
for (i=0;i<o.length;i++) {
if (o[i].type=="text" && o[i].value=="" && o[i].style.visibility == "visible" && !o[i].disabled) {
o[i].focus();
break;
}
}
</script>

上面这段代码很简单,
目的在于逐一判断textbox是不是空的,
然后focus到第一个找到的空的textbox。

本来if内的判断没有最后两个判断,也就是
o[i].style.visibility == "visible" && !o[i].disabled
原本是没有的,
之所以加的原因,是因为有时候textbox会被disabled
我企图用 !o[i].disabled 来判断 textbox 是不是disabled
但不行,虽然该textbox已disabled,
但仍然会执行o[i].focus那一行代码,
最后导致「控制项未启动、不可见,无法获得焦点」的错误。

我不知道,到底怎么判断某textbox为disabled?
...全文
77 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kong佳 2005-08-11
  • 打赏
  • 举报
回复
楼主的代码不完整,猪头兄的已经很完整了.
adandelion 2005-08-11
  • 打赏
  • 举报
回复
<script language="Javascript">
function checkTxt()
{

var o=document.forms[0].elements;
for (i=0;i<o.length;i++)
{
if (o[i].type=="text" && o[i].value.length ==0 && o[i].disabled == false)
{
o[i].focus();
alert("kong2");
return false;
}
}
return true;
}
</script>
<FORM METHOD=POST ACTION="suhu.com" name ="form1">
<input type ="text" name ="txt0" disabled = "true">
<input type="text" name="txt1">
<input type ="text" name="txt2">

<input type="button" value ="check" onclick="return checkTxt();">
</FORM>

好象没隐藏的属性吧,若为隐藏,那type=hidden了.

87,907

社区成员

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

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