Pau*_*xon 20 html javascript dom
我有一个HTML输入框
<input type="text" id="foo" value="bar">
我为' keyup '事件添加了一个处理程序,但是如果我在事件处理程序中检索输入框的当前值,我会得到它的值,而不是它将会是!
我试过拿起' 按键 '和' 改变 '事件,同样的问题.
我确信这很容易解决,但目前我认为唯一的解决方案是让我使用短暂超时在未来几毫秒内触发一些代码!
反正在那些事件中获得当前价值?
编辑:看起来我的js文件有一个缓存问题,因为我稍后检查了相同的代码,它工作得很好.我会删除这个问题,但不确定是否会失去代表发布创意的那些人的代表:)
Owe*_*wen 28
你能发布你的代码吗?我没有发现任何问题.在Firefox 3.01/safari 3.1.2上测试:
function showMe(e) {
// i am spammy!
  alert(e.value);
}
....
<input type="text" id="foo" value="bar" onkeyup="showMe(this)" />
输入值有两种:field的属性和field的html 属性.
如果使用keyup event和field.value,则需要获取该字段的当前值.当你使用field.getAttribute('value')来返回html属性(value ="")中的内容时,情况并非如此.该属性表示在字段中键入的内容并在键入时更改,而属性不会自动更改(您可以使用field.setAttribute方法更改它).
给出这个问题的现代方法.这很好用,包括Ctrl+ v.GlobalEventHandlers.oninput.
var onChange = function(evt) {
  console.info(this.value);
  // or
  console.info(evt.target.value);
};
var input = document.getElementById('some-id');
input.addEventListener('input', onChange, false);
小智 5
<html>
    <head>
        <script>
        function callme(field) {
            alert("field:" + field.value);
        }
        </script>
    </head>
    <body>
        <form name="f1">
            <input type="text" onkeyup="callme(this);" name="text1">
        </form>
    </body>
</html>
看起来您可以使用 onkeyup 来获取HTML 输入控件的新值。希望能帮助到你。
| 归档时间: | 
 | 
| 查看次数: | 95759 次 | 
| 最近记录: |