【问题标题】:How does one target a placeholder value in a textarea tag using pure javascript如何使用纯 javascript 在 textarea 标记中定位占位符值
【发布时间】:2015-03-16 20:15:15
【问题描述】:

我目前有一个名为 comp 的 div

<div id="comp"></div>

使用 Javascript,我添加了一个带有占位符值的 textarea 标记

var comp = document.getElementById('comp');
setTimeout(function(){
        comp.innerHTML = '<textarea placeholder="Write on me now, or else... you will have to watch me write on"></textarea>';
    }, 1500); 

请记住,逐字写出整个文本大约需要 1.5 秒。

如何使用 setInterval 每 200 毫秒将单词“and on”附加到 textarea 中的占位符值,以便每 0.2 秒“and on”一直被写入,直到用户写一些东西。

请随时查看此JSFiddle 以进行澄清。 (美学有点混乱,但它完成了工作)。谢谢,我真的很感激!

另外,我试图找到类似的问题,但我找不到任何问题。如果有人能把我引向他们,那真的很有帮助。

【问题讨论】:

    标签: javascript append textarea placeholder


    【解决方案1】:

    您可以使用getElementsByTagName 获取对文本区域的引用,然后开始一个将文本添加到占位符的间隔。当用户开始输入时,您可能希望停止间隔:

    setTimeout(function(){
      var comp = document.getElementById('comp');
      comp.innerHTML = '<textarea placeholder="Write on me now, or else... you will have to watch me write on"></textarea>';
      var tex = comp.getElementsByTagName('textarea')[0];
      var handle = window.setInterval(function(){
        if (tex.value.length == 0) {
          tex.placeholder += ' and on';
        } else {
          window.clearInterval(handle);
        }
      }, 200);
    }, 1500);
    textarea { width: 90%; height: 200px; }
    &lt;div id="comp"&gt;&lt;/div&gt;

    另外,您可能想要添加一个计数器(或仅检查占位符的长度),以便您可以在一定次数后停止间隔。如果您将时间间隔无限期地打开,浏览器最终会崩溃。

    【讨论】:

      【解决方案2】:

      虽然我不太明白你想要什么,但我认为你想要的是:

      var textarea = document.getElementById('test');
      setInterval(function () {
          textarea.placeholder += ' and on';
      }, 1500);
      &lt;div id="comp"&gt;&lt;textarea id='test' placeholder="Write on me now, or else... you will have to watch me write on"&gt;&lt;/textarea&gt;&lt;/div&gt;

      每 1.5 秒,and on 被添加到 ID 为 test 的文本区域的占位符中

      【讨论】:

      • 谢谢,这就是我所需要的。为 textarea 添加一个 id,这是缺少的部分,谢谢!
      猜你喜欢
      • 1970-01-01
      • 2012-02-25
      • 1970-01-01
      • 2011-12-05
      • 2012-02-20
      • 2014-09-15
      • 1970-01-01
      • 2020-03-20
      • 2019-05-04
      相关资源
      最近更新 更多