首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

JS让文本框获得焦点,该怎么处理

2012-05-28 
JS让文本框获得焦点我有一页面,页面中有2个div--“div1” 和“div2”,页面加载时div2的display属性为none,div1

JS让文本框获得焦点
我有一页面,页面中有2个div--“div1” 和“div2”,页面加载时div2的display属性为none,
div1中有一按扭btn1和一文本框txt1,div2中有一按钮btn2,要求点击btn1的时候,div1隐藏,显示div2
点击btn2的时候div2隐藏,显示div1,同时txt1获得焦点
我为2个按钮的onclik事件写了一个JS方法:
<script>
var flag=0;
function closeOrShowPo() {
  var div1 = document.getElementById("div1");
  var div2 = document.getElementById("div2");
  if (flag == 1) {
  div1.style.display = "block";
  div2.style.display = "none";
  flag = 0;
  }
  else {
  div1.style.display = "none";
  div2.style.display = "block";
  flag = 1;
  var txt1 = document.getElementById("txtPalletCartonCode");
  txt1.focus();
  }

  }
</script>
 结果调试时报这样的错“由于该控件目前不可见、未启用或其类型不允许,因此无法将焦点移向它。”
这种情况该怎么解决?


[解决办法]

[解决办法]
txtPalletCartonCode 是不是被隐藏掉了 隐藏属性了html就不会生成txtPalletCartonCode控件
[解决办法]
可以把他们都显示出来,把DIV宽高设置为0px,0px试试(比较猥琐)
[解决办法]
先判断下div1的状态是否是显示。
[解决办法]
不都通知你了么 要么没显示,被隐藏了

要么未启用
[解决办法]
我曾经看也这样写,报错,但是把他拆分成两个方法,执行OK
[解决办法]
div1,div2加上runnt=server
[解决办法]
应该是隐藏了 不行就一个一个试试就出来了
[解决办法]
写连个FUNCTION 一个是 btn1调 一个是btn2调 , 这样就可以了
焦点 是 document.getElementById("txt").fock();

如果非的写成一个函数 那就
判断
if(document.getElementById("div1").style.display == "block")
{
那就把div1隐藏
那就把div2显示

}
else
{
那就把div2隐藏
那就把div1显示
}

热点排行