gpt4 book ai didi

javascript - 如何在输入时从 html 表单输入框中获取值?

转载 作者:行者123 更新时间:2023-12-01 02:17:17 25 4
gpt4 key购买 nike

如何在输入时从输入框中获取值?

最佳答案

每次释放按键时都会触发onkeyup。虽然它看起来是解决方案,但它存在一些问题。

如果用户用箭头移动光标,则会触发该操作,您必须自行检查字段值是否没有更改。

如果用户使用鼠标在输入字段中复制/粘贴值,或者在浏览器中单击撤消/重做,则不会触发 onkeyup

就像在 Mac 或 Google 文档中一样,我不需要保存按钮来在我们的应用程序中提交表单,这就是我的做法。欢迎任何评论或快捷方式,因为它有点重。

  1. onfocus,存储字段的当前值,并开始一个时间间隔来检查更改
  2. 当用户在输入中移动某些内容时,会与旧值进行比较,如果不同,则会触发保存
  3. onblur,当用户离开字段时,清除间隔和事件处理程序

这是我使用的函数,elm 是输入字段引用,after 是值更改时调用的回调函数:

<html>
<head>
<title>so</title>
</head>
<body>
<input type="text" onfocus="changeField(this, fldChanged);">
<script>
function changeField(elm, after){
var old, to, val,
chk = function(){
val = elm.value;
if(!old && val === elm.defaultValue){
old = val;
}else if(old !== val){
old = val;
after(elm);
}
};
chk();
to = setInterval(chk, 400);
elm.onblur = function(){
to && clearInterval(to);
elm.onblur = null;
};
};
function fldChanged(elm){
console.log('changed to:' + elm.value);
}
</script>
</body>
</html>

关于javascript - 如何在输入时从 html 表单输入框中获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2130275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com