gpt4 book ai didi

javascript - 在输入类型的文本中,为什么我无法添加 - 在键入四个字母后使用 javascript?

转载 作者:行者123 更新时间:2023-11-30 13:57:40 24 4
gpt4 key购买 nike

我只是想创造这样的东西 -在 html 中,我有一个输入类型文本,只要输入值的长度为 2,javascript 就会在这之后添加一个连字符,例如 -如果值 id 为“sd”,则 javascript 会将其设为“sd-”,它在控制台上工作,但它不会在视觉上改变输入的值(用户看不到)。

我想要一个改变输入值的解决方案,我可以看到在输入中添加了一个连字符。

let dateA = document.getElementById("dateOne");


dateA.onkeyup = function(){
let dataAValue = this.value;
let dataAValueLength = this.value.length;
if(dataAValueLength == 2) {

let valueReplaced = dataAValue.replace(`${dataAValue}`, `${dataAValue}-`)
// console.log(dataAValue);
dataAValue = valueReplaced;

}
}
  <input type="text" id="dateOne">

最佳答案

您正在重新分配变量。您需要修改对象 this

您可以通过使用 + 代替 replace 并使用三元运算符代替 if-else

来清理您的代码

let dateA = document.getElementById("dateOne");
dateA.onkeyup = function(){
this.value += this.value.length === 2 ? '-' : ''
}
<input type="text" id="dateOne">

关于javascript - 在输入类型的文本中,为什么我无法添加 - 在键入四个字母后使用 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56919859/

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