Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从输入字段中检索JavaScript中输入的文本??_Javascript - Fatal编程技术网

如何从输入字段中检索JavaScript中输入的文本??

如何从输入字段中检索JavaScript中输入的文本??,javascript,Javascript,如何检索使用JavaScript输入的输入字段的内容 我知道。onChange只在焦点从输入字段更改后才起作用 谢谢您应该尝试onKeyUp事件。下面是一个简单的例子: <input type="text" onkeyup="document.getElementById('xyz').innerHTML=this.value"> <div id="xyz"></div> 如果您的输入字段有焦点,请使用onKeyUp事件监视用户键入的文本 编辑:自从写了这个

如何检索使用JavaScript输入的输入字段的内容

我知道。onChange只在焦点从输入字段更改后才起作用


谢谢

您应该尝试onKeyUp事件。下面是一个简单的例子:

<input type="text" onkeyup="document.getElementById('xyz').innerHTML=this.value">
<div id="xyz"></div>

如果您的输入字段有焦点,请使用onKeyUp事件监视用户键入的文本


编辑:自从写了这个答案后,我了解到HTML5
oninput
事件比关键事件更合适,因为它将检测所有形式的输入,包括粘贴、拖放等。除IE 8和更低版本外,所有主要浏览器都支持该事件,但是您可以通过映射到
onpropertychange
来模拟IE中的事件。例如:

if ("onpropertychange" in myInput && !("oninput" in myInput)) {
    myInput.onpropertychange = function () {
        if (event.propertyName == "value") 
            myHandler.call(this, event);
    }
}
else
    myInput.oninput = myHandler;
请注意,
onpropertychange
在使用
contentEditable
属性集输入非表单元素时不会触发


onkeyup仅在键被提起后才会触发,因此为了获得最佳效果,请使用onkeypress和/或onkeydown。如果使用延时为0毫秒的计时器,则可以在更新后立即获取新值:

myInput.onkeydown = function () {
    var self = this;
    window.setTimeout(function () {
        alert(self.value);
    },0);
} 
示例:


请注意,这不会捕获粘贴或拖放文本到框中。对于那些需要其他事件的事件。

曾经我使用了“onKeyup”、“onBlur”、onKeyPress组合来处理所有情况,同时制作了一个只允许数字值的文本框。像这样:

//C#    
tc.Attributes.Add("onKeyup", "extractNumber(this,-1,true);"); tc.Attributes.Add("onBlur", "extractNumber(this,-1,true,true);"); tc.Attributes.Add("onKeyPress", "return blockNonNumbers(this, event, true, true);");
使用此.js代码:


而且它仍然工作得很好。

onkeyup只会在钥匙被提起时提供值。按住键将重复输入,但不会触发keyup事件。@Andy E:是的,但如果只使用onkeydown,则从文本字段返回的值将不完整。我的意思是最后输入的字符将始终丢失。如果使用计时器,则不会。请参阅我的答案和其中的示例。一旦焦点超出文本框控件,onblur事件将触发。您可以在ContextChanged中处理它event@Mo当前位置我今天发表了一篇关于这个主题的博客文章,可能对你来说是一篇有趣的文章-