2 baidu 29047977 baidu_29047977 于 2016.09.27 11:39 提问

text 文本框限制输入问题,求点击

text文本框中只需要英文和数字,但在已输入正确的文字中插入一个字符,光标就自动跳到最后,该如何解决?
如:
我在文本框中输入abde字符,现在将光标移动到bd中间插入一个c字符后,光标自动跳到e后边。请哪位大神帮忙解决一下。
话不多说,直接上代码:
style="ime-mode: disabled"
onkeyup="if(event.keyCode != 37&&event.keyCode != 39&&event.keyCode != 8){value=value.replace(/[\W]/g,'')} "
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
maxlength="7" />
导致这个问题就是onkeyup方法中的value=value.replace(/[\W]/g,''),但又不能去掉,纠结中~

4个回答

quasimodo_es
quasimodo_es   2016.09.27 12:43
已采纳

因为这个造成的 value=value.replace(/[\W]/g,'');

设置value值的时候,光标就会移动到最后;
把if条件反过来,如果值正确就不设置value= ,

baidu_29047977
baidu_29047977 听君一席话,胜查2天百度啊~
大约一年之前 回复
caozhy
caozhy   Ds   Rxr 2016.09.27 11:50
Mr_dsw
Mr_dsw   Ds   Rxr 2016.09.27 12:36

你看下这个,设置光标位置http://www.jb51.net/article/45420.htm

baidu_29047977
baidu_29047977   2016.09.27 14:31

onkeyup="if(event.keyCode != 37&&event.keyCode != 39&&event.keyCode != 8){if(/[\W]/g.test(value)){value=value.replace(/[\W]/g,'')}} "
把代码换成这样就完美了!
感谢@qc_nj

Csdn user default icon
上传中...
上传图片
插入图片