当前位置:编程学习 > JS >>

js或jquery定位光标

页面中html标签 <input id="Text1" type="text" onchange ="return Text1_onchange(this.id)"/> <input id="Text2" type="text" /> js代码如下: function Text1_onchange(id) { if (document.getElementById(id).value < 10) { alert('请输入大于10的数'); this.focus(); } } 在onchange 事件中,如果输入小于10的数,如何才能将光标定位在Text1中,上面的js代码不行(js或jquery代码都可以)
追问:document.getElementById(id).focus();
document.getElementById("Text1").focus();
都不行好的,在线等。onclick是可以的,但我要onchange事件后定位光标document.getElementById(id).focus();
document.getElementById("Text1").focus();
都不行
答案:将this.focus(); 
替换为
document.getElementById(id).focus();
 return false;
其他:function Text1_onchange(id) {            
            if (document.getElementById(id).value < 10) {
                alert('请输入大于10的数');
                this.focus(); 
            }                       
        }
你使用的是this.focus();
而this没有做为参数传递进来,所以不行
你吧this换成document.getElementById(id)试试 function Text1_onchange(id) {            
            if (document.getElementById(id).value < 10) {
                alert('请输入大于10的数');
                document.getElementById(id).focus(); 
            }                       
        } 把下面一句:
this.focus(); 

替换为:
document.getElementById(id).focus(); 兼容所有浏览器
渴了喝可乐做的:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
 <head>
  <title> new document </title>
	<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 </head>
 <body>
   <input id="text1" type="text" />
 <input id="text2" type="text" />    
<script type="text/javascript">
(function(){
var item=document.getElementById('text1');
item.onblur=text1_onchange;

function text1_onchange()
{
		if(this.value < 10)
		{
				alert('请输入大于10的数');
				setTimeout('document.getElementById("text1").focus()',500);
		}
		else
		{
				document.getElementById('text2').focus();
		}
}
})();
</script>
 </body>
</html> 

上一个:JS 代码,求解释
下一个:如何编写一个js,适用于所有浏览器可用鼠标在页面移动的DIV层?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,