Javascript用字符串替换onKeyUp事件

Javascript用字符串替换onKeyUp事件,javascript,replace,onkeyup,onkeypress,Javascript,Replace,Onkeyup,Onkeypress,我不太擅长JavaScript,需要一个我认为简单的脚本。基本上,我有一个输入框,当用户键入一个键时,它将消失并更改为我拥有的任何字符串。我只能换一个字母,这样我就有东西来表达我的意思了。因此,每当用户键入一条消息时,它都会被替换为“h”,我想让用户一个字母一个字母地键入“hello”,而不仅仅是一直键入“h”,而不是一次键入“hello” 这是代码 <form action=# name=f1 id=f1 onsubmit="return false"> <input ty

我不太擅长JavaScript,需要一个我认为简单的脚本。基本上,我有一个输入框,当用户键入一个键时,它将消失并更改为我拥有的任何字符串。我只能换一个字母,这样我就有东西来表达我的意思了。因此,每当用户键入一条消息时,它都会被替换为“h”,我想让用户一个字母一个字母地键入“hello”,而不仅仅是一直键入“h”,而不是一次键入“hello”

这是代码

<form action=# name=f1 id=f1 onsubmit="return false">

<input type=text name=t1 id=t1 value="" size=25 style="width:300px;" 
    onkeypress="if(this.value.match(/\D/))"
    onkeyup   ="this.value=this.value.replace(/\D/g,'h')">

</form>

刚刚编辑过,希望您不会介意:您正在尝试这样的操作吗:

函数替换字符串(el){
var sampleText=“hello”.split(“”);
var值=”;
控制台日志(el)
el.value.split(“”).forEach(函数(str,索引){
值+=sampleText[索引%sampleText.length];
});
el.值=值;
}

如果要模拟在文本框中键入文本,则需要使用超时。以下功能应足够:

function simulateTyping(str, el)
{
    (function typeWriter(len)
    {
      var rand = Math.floor(Math.random() * (100)) + 150;
      if (str.length <= len++)
      {
        el.value = str;
        return;
      }
      el.value = str.substring(0,len);
      if (el.value[el.value.length-1] != ' ')
        el.focus();
      setTimeout(
        function()
        {
          typeWriter(len);
        },
        rand);
    })(0);
}

当您调用typeHello函数时,它将找到id为“t1”的元素并键入“hello”文本。

你想要第一个字母应该改变,例如,xylo表示你想要改变,或者只有一个字母应该出现。请你清楚一点,解释一下你想要的是什么。你写的东西很混乱,没有弄清楚。非常感谢。这正是我要找的。
function typeHello() {
  var el = document.getElementById('t1');
  var str = 'hello';
  simulateTyping(str, el);
}