javascript - 如何直接根据用户输入更改输入框中的特定文本?

标签 javascript text input

我的代码中有一个输入字段:<input type=text name=code id=code> .

我想要做的是当用户在字段中键入时将特定文本转换为另一个文本。

让我解释一下。当用户在输入中输入 31546 时,我希望该文本直接转换为 HELLO

我知道这可以使用 JavaScript/jQuery 来完成,但我对如何实现这一点没有任何想法。我该怎么办?

如果使用文本区域更容易,我准备将输入更改为文本区域。

编辑: 我从 this StackOverflow post 获得了代码它检测元素的任何更改,

 $('.myElements').each(function() {
   var elem = $(this);

   // Save current value of element
   elem.data('oldVal', elem.val());

   // Look for changes in the value
   elem.bind("propertychange change click keyup input paste", function(event){
      // If value has changed...
      if (elem.data('oldVal') != elem.val()) {
       // Updated stored value
       elem.data('oldVal', elem.val());

       // Do action
       ....
     }
   });
 });

但我不知道如何利用它来实现我想要的目的。

请耐心等待,因为我在这个领域还是个新手。

谢谢。

最佳答案

一种选择是为您的输入设置一个 keyup 事件,然后在用户键入时替换该值。例如:

$('input').keyup(function () {
    var val = $(this).val();

    var newVal = val.split('31546').join('HELLO');

    if (newVal !== val) {
        $(this).val(newVal);
    }
});

关于javascript - 如何直接根据用户输入更改输入框中的特定文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31152879/

相关文章:

javascript - 使用 Actions on Google 库集成时不显示轮播

java - 更改文件中的 ID

sql-server - Adapt 替换所有表中的所有字符串以处理文本

javascript - 为什么在Crosswalk中无法选择 "mp3"文件?

javascript - 别名导入不适用于 .jsx 扩展

javascript - Angularjs 显示隐藏 css 问题

java - 限制 JavaFX TextField 的字符数导致撤消时出现 IndexOutOfBounds

javascript - 自动调整文本元素大小不适用于 keyup

css背景渐变与css3中的背景图像在两个不同的类上

javascript - 正则表达式 - 让这个变得贪婪