有二输入框A 和 B
当A输入完成时,有没有办法,让它五秒后自动提交(五秒的过程就是让它判断我是不是要输入B,如果B不输入了就提交),而不是手动按提交按钮当A输入完成,再输入B的时候,不要执行A的五秒自动提交,等待B完成输入再提交,这个我可以简单点,用手动提交
问题的关键在于,怎么做到当我要输入B时,停止A的自动提交呢?
大家给点思路,有热心的朋友直接出代码,就更感谢了
当A输入完成时,有没有办法,让它五秒后自动提交(五秒的过程就是让它判断我是不是要输入B,如果B不输入了就提交),而不是手动按提交按钮当A输入完成,再输入B的时候,不要执行A的五秒自动提交,等待B完成输入再提交,这个我可以简单点,用手动提交
问题的关键在于,怎么做到当我要输入B时,停止A的自动提交呢?
大家给点思路,有热心的朋友直接出代码,就更感谢了
var timer
function post(){document.frm.submit();}
</script>
<form method='get' name='frm'>
a:<input type="text" onblur="setTimeout('post()',5000);"/><br/>
b:<input type="text" onfocus="clearTimeout(timer)" onblur="setTimeout('post()',5000);"/><!--focus时清除计时器-->
</form>
var timer
function post(){document.frm.submit();}
</script>
<form method='get' name='frm'>
a:<input type="text" onblur="timer=setTimeout('post()',5000);"/><br/><--更正下这里,忘记赋值了-->
b:<input type="text" onfocus="clearTimeout(timer)" onblur="setTimeout('post()',5000);"/><!--focus时清除计时器-->
</form>
能不能再加强下onblur="timer=setTimeout('post()',5000);"这是当鼠标焦点离开A时开始执行的,有没有办法,就是在A输入完就执行定时,而不是要先失去焦点因为我这做的是一个条形码输入,当进入页面是,先焦点自动定在A上,然后扫描器读号码到A上,这里可以理解成复制一个字符到A上,然后在不用动鼠标的情况下,自动提交,如果用onblur,那就要用到鼠标操作,有没有办法可以做出我这种意思来?
FF就比较麻烦了,要绕一个大圈子才能做出和ie的onpropertychange差不多的功能来
onpropertychange 怎么做?
这里不需要考虑浏览器的兼容性,因为我是给朋友定制,到时候是做局域网用的,我可以给他们搭建兼容平台请帮我出出办法好吗
var timer
function post(){document.frm.submit();}
</script>
<form method='get' name='frm'>
a:<input type="text" name="a" oninput=timer=setTimeout('post()',5000);" onpropertychange="timer=setTimeout('post()',5000);"/><br/>
b:<input type="text" name="b" onfocus="clearTimeout(timer)" />
</form>
当然LZ不考虑兼容就没什么问题了,呵呵 2、正如LS所说,B的onfocus="clearTimeout(timer)"不应该受到影响的
var timeCount=0;
function onMouseInText(flag)
{
var flag=true;
flag=flag;
timeCount++;
if(timeCount==5)
{
if(document.all.B.value==""&&flag==true){
document.all.form1.submit();
}
else{
}
}
timeCount=0;
setTimeout('onMouseInTextA()',1000);
}
<form name="form1">
<input name="A" type="text" onClick="onMouseInText(true)">
<input name="B" type="text" onClick="onMouseInText(false)">
</form>
不知道这样你满意不