输入框获取焦点

cq1981cq 2003-08-12 12:58:47
<head>
<script>
function checknum(str,min,max){
if(str==""){
alert("请输入一个数字")
return false}
for(var i=0;i<str.length;i++){
var ch=str.substring(i,i+1)
if(ch<"0"||ch>"9"){
alert("请输入数字而不是其他字符")
return false}
}
var b=parseInt(str,10)
if((b<min)||(b>max)){
alert("请输入1到10的数字")
return false
}
return true
}
function thanks(){
alert("不错,输入正确")}
function exe(form){
if(!checknum(form.text1.value,1,10)){
form.text1.focus();
form.text1.select();
}
else{
thanks();
}
}
</script>
</head>
<body>
<form>
<h3>请输入一个数字:</h3>
<input type="text" name="text1" onchange="exe(this.form)">
</form>
</body>
在这个javascript程序中,form.text1.focus();form.text1.select();两条语句为什么不能起到选定输入框直接进行输入呢(它只能选中输入框,但是不能直接输入字符,必须按一下TAB键后才能进行输入)?用什么样的语句才能起作用呢?
谢谢!
...全文
233 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cloudchen 2003-08-12
  • 打赏
  • 举报
回复
onChange事件是不能触发在text field里面修改值的

这里只是修改了text对象的值,应该用onpropertychange

不过不推荐使用onpropertychange,很容易造成ie死掉,用onkeyup亦可
sw47 2003-08-12
  • 打赏
  • 举报
回复
use onpropertychange
yanfeng 2003-08-12
  • 打赏
  • 举报
回复
只要一句就form.text1.focus();就可以了吧,我的机子行的
sandyuk 2003-08-12
  • 打赏
  • 举报
回复
测试了一下,关键是在onchange
换成onBlur可以

不知这是不是MS的又一个BUG

sandyuk 2003-08-12
  • 打赏
  • 举报
回复
try:
<input type="text" name="text1" onfocus="this.select()" onchange="exe(this.form)">
form.text1.focus();

87,988

社区成员

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

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