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层?