如何onkeypress事件中得到一个输入文本框的文本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何onkeypress事件中得到一个输入文本框的文本相关的知识,希望对你有一定的参考价值。
1、保持简单。同时使用onKeyPress()和onKeyUp():<input id="edValue" type="text" onKeyPress="edValueKeyPress()" onKeyUp="edValueKeyPress()">这需要获得最新的字符串值(后按键)的照顾,也更新,如果按住一个键。 jsFiddle中:
2、输入文本框,onkeypress事件中的值总是更改前的值 这是有意的:这允许事件侦听器取消按键。 如果事件侦听器取消的情况下,该值不会被更新。如果事件没有被取消,该值被更新,但该事件监听器被调用后。 为了得到后场数值已经更新了值 CodeGo.net,一个函数,在接下来的事件循环运行。办法做到这一点是调用setTimeout用的0:$('#field').keyup(function()
var $field = $(this);
// this is the value before the keypress
var beforeVal = $field.val();
setTimeout(function()
// this is the value after the keypress
var afterVal = $field.val();
, 0);
);
试一下: 编辑:浏览器(如不触发退格键的按键事件,改变了按键的代码KEYUP。
3、我通常串连字段的值(即前它的更新),与关键事件相关联的密钥。近期JS所以需要支持在旧的IE浏览器的。 最近的例子JSdocument.querySelector('#test').addEventListener('keypress', function(evt)
var real_val = this.value + String.fromCharCode(evt.which);
if (evt.which == 8) real_val = real_val.substr(0, real_val.length - 2);
alert(real_val);
, false);
支持较旧的IE为例//get field
var field = document.getElementById('test');
//bind, somehow
if (window.addEventListener)
field.addEventListener('keypress', keypress_cb, false);
else
field.attachEvent('onkeypress', keypress_cb);
//callback
function keypress_cb(evt)
evt = evt || window.event;
var code = evt.which || evt.keyCode,
real_val = this.value + String.fromCharCode(code);
if (code == 8) real_val = real_val.substr(0, real_val.length - 2);
[编辑-这种做法,在默认情况下,禁用按键的事情,比如后排空间,Ctrl +A。上面的代码的,但会进一步需要修补,以允许后者,以及一些其他的不测事件。看到伊恩・博伊德的下方。]
4、易... 在你的按键事件处理函数,写void ValidateKeyPressHandler(object sender, KeyPressEventArgs e)
var tb = sender as TextBox;
var startPos = tb.SelectionStart;
var selLen= tb.SelectionLength;
var afterEditValue = tb.Text.Remove(startPos, selLen)
.Insert(startPos, e.KeyChar.ToString());
// ... more here
参考技术A 可以通过 onkeyup来触发 (键盘松开时触发) ; 放个例子: 每次输入就会在控制台输出文本框里的内容本回答被提问者采纳
关于js中事件监听的问题(文本框 回车键 失去焦点)
情况:假设一个面板上有一个输入框,用来输入某个数字参数,然后在输入框下面有一个不可编辑文本框,用来显示一个与该参数相关联的文件名。例如参数为1,则下面文本框里自动生成文件名file1。最下面有一个确定按钮,点确定按钮就保存一个文件名为file1的文件。
问题:三种操作方式-》1.输入参数后,点确定按钮保存。2.输入参数后,现在面板的空白处点击一下鼠标,使得输入框失去焦点,然后按回车键保存。3.直接按回车键保存。
第1,2中操作方式的结果完全正确,参数为1时保存的文件文件名也为1.而第3种方式的结果不正确,每次保存文件名中参数部分为上一次的参数。例如,参数框默认值为0,我在参数框中手动输入1,然后按直接回车保存,最后保存的文件名为file0。
请问各位高手,这是什么情况?
这个Bug改了一周了,桑不起。。。 TT
如果不行,请贴出你的处理代码 参考技术B 那也就是说回车并没有触发文本框的onblur事件,那么,你可以在表单的onsubmit事件的第一行调用onblur的关联函数,确保重新生成正确的文件名.本回答被提问者和网友采纳 参考技术C 你可以在输入框里面一个js事件onkeydown=“document.getElementById('确定按钮的Id').focus()”
如果还不行把你的代码贴出来我看下 参考技术D 点击回车直接触发保存按钮。 第5个回答 2013-03-03 js是什么意思?
以上是关于如何onkeypress事件中得到一个输入文本框的文本的主要内容,如果未能解决你的问题,请参考以下文章