onChange等事件的返回值处理问题,不可理解。 Box 1 <input type="text" name="txt1" onblur="this.focus()"> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 多谢你的帮忙,不过,不好意思,我的意思是在onchang里,,不是onblur,,onblur只是举了个其他的例子说明"return false" onchange="return false"就是取消onchange事件,意思跟undo差不多,比如textbox中原来的值是1234,当你在textbox中输入的时候就触发onchange事件,onchange="return false"这就是撤消onchange事件,所以你输入的值无效,textbox的值还是1234但是onblur事件是不可撤消事件,也就是说onblur="return false"是无效的,你可以查查这方面的资料,web的事件是有可撤消和不可撤消两种的。 看到有人和我交流,真是激动万分感谢。Box 1 <input type="text" name="txt1" value="ddd" onchange="return false">可是这个东西的现象是,,,你可以改里面的东西,但是,,然后你就什么也干不了了,你也不能再点别的东西。另外,有没有别的方法可以实现我的目的? onchange="return false"只是撤消onchange事件,当你再点别的东西时,触发的是onblur事件,所以你是可以点其他的东西。你想要的目的是不是,当用户输入的值不合法时,撤消他输入的值,并不让他点其他的东西?如果是这就样:<input type=text onchange="return check(this)" onblur="check()"><script language="javascript">function check(theObject){if (....){ theObject.focus(); return false;}else{ return true;}}</script> 嗯,了解。我知道这样可以完成了。现在的问题是,你的theObject.focus();有什么用?好像设不设焦点和这句话没有关系,,,,注释掉一样是可以的。而,如果注释掉,在不合法的时候,他的焦点还在原处,这个事情是谁来决定的?你所说的“撤消onchange事件”,首先,我这里是个textbox框,只有在改变了内容,并且,焦点要离开的时候才执行,,,而你说撤销这个事件,我不太理解,,,在onchange="return false">这里,onchange事件什么也没有做,只做了个撤销动作?撤销什么?不好意思,我刚接触javascript,很多事情不太清楚。谢谢! 不好意思。我的目的 tianch(晴空)说的不错,做法也能实现。当用户输入的值不合法时,不让他点其他的东西,继续在这个textbox里进行编辑。我主要是想问,第一所谓的撤销onchange事件,指的是什么意思。为什么焦点还在原处。第二,有没有其他的方式实现(这个问题相对次要)。 1.onchange事件发生在失去焦点并且值发生改变时当值发生改变,失去焦点就触发了onchange,这时return false,所以焦点不能离开下面这个才是对象一改变就触发onpropertychange 当在对象上发生对象上发生属性更改时触发。2.可以在onkeypress时不让用户输入也可以解决的 return false 这个东西叫什么?我去查一下,看看都有什么地方可以用,什么功能。 555,,我要结帖吗?说实在的我还是不太明白。不过,上面的朋友说的都对,也很热情。我主要是想问,第一所谓的撤销onchange事件,指的是什么意思。为什么焦点还在原处。 <p>onChange 事件在失去焦点时才触发,判断值是否已经改变。</p><p>Box 1 <input type="text" name="txt1" onchange="alert('不能改变 Box 1 的值!');this.value='';return false"></p><p>Box 2 <input type="text" name="txt2" onblur="alert('失去焦点!');return false"></p> 各位老大,我知道你们肯定比我了解的多多了,我现在知道这个现象,就是不理解return false的道理。适用范围。 这个问题是这样的,当你在文本框上编缉的后,再点击其它的控件就触发了文本框的change事件,将焦点移到其它的控件上,但是你的onchange事件设置成了return false,也就是说当change事件发生时就取消change事件,导致change事件不能执行,所以焦点移不到其它的控件上 OK,如果这么说的话,onblur事件取消了以后,为什么还可以移到其他控件上?那,其他的事件对return false有是怎么解释的呢?不好意思,我是不是太较真了?主要是不明白,,呵呵 事件分两种,一种事件可撤消,一种事件不可撤消。onblur属于不可撤消的事件,所以return false对他无效。你可以参考一下《javascript完全手册》这本书。 apply疑问 JSON问题 VS2008怎样调试javascript?? 用ajax判断是否有关键字??? 下拉框的联动性 高分求解!怎么用Javascript调用不同域名下的.net webservice 大家快来帮忙!<SELECT>的简单问题!!!^_^ window.event.srcElement? 如何最大化新打开的窗体 JSP+ORACLE的问题(高手请进!) 高分请请高手!!!!!!!!!!!!!!!!!! 请问用Javascript 如何实现类似DBGrid的效果?
onblur只是举了个其他的例子说明"return false"
但是onblur事件是不可撤消事件,也就是说onblur="return false"是无效的,你可以查查这方面的资料,web的事件是有可撤消和不可撤消两种的。
Box 1 <input type="text" name="txt1" value="ddd" onchange="return false">
可是这个东西的现象是,,,你可以改里面的东西,但是,,然后你就什么也干不了了,你也不能再点别的东西。
另外,有没有别的方法可以实现我的目的?
你想要的目的是不是,当用户输入的值不合法时,撤消他输入的值,并不让他点其他的东西?如果是这就样:
<input type=text onchange="return check(this)" onblur="check()">
<script language="javascript">
function check(theObject){
if (....){
theObject.focus();
return false;
}else{
return true;
}
}
</script>
我知道这样可以完成了。
现在的问题是,你的theObject.focus();有什么用?
好像设不设焦点和这句话没有关系,,,,注释掉一样是可以的。
而,如果注释掉,在不合法的时候,他的焦点还在原处,这个事情是谁来决定的?
你所说的“撤消onchange事件”,首先,我这里是个textbox框,只有在改变了内容,并且,焦点要离开的时候才执行,,,而你说撤销这个事件,我不太理解,,,在onchange="return false">这里,onchange事件什么也没有做,只做了个撤销动作?撤销什么?
不好意思,我刚接触javascript,很多事情不太清楚。谢谢!
当用户输入的值不合法时,不让他点其他的东西,继续在这个textbox里进行编辑。我主要是想问,第一所谓的撤销onchange事件,指的是什么意思。为什么焦点还在原处。
第二,有没有其他的方式实现(这个问题相对次要)。
当值发生改变,失去焦点就触发了onchange,这时
return false,所以焦点不能离开
下面这个才是对象一改变就触发
onpropertychange 当在对象上发生对象上发生属性更改时触发。
2.可以在onkeypress时不让用户输入也可以解决的
我主要是想问,第一所谓的撤销onchange事件,指的是什么意思。为什么焦点还在原处。
Box 1 <input type="text" name="txt1" onchange="alert('不能改变 Box 1 的值!');this.value='';return false">
</p>
<p>
Box 2 <input type="text" name="txt2" onblur="alert('失去焦点!');return false">
</p>
不好意思,我是不是太较真了?主要是不明白,,呵呵