【问题标题】:Show text from textarea in a div JS在 div JS 中显示 textarea 中的文本
【发布时间】:2021-01-25 13:58:44
【问题描述】:

和标题一样,我想通过输入文本查看我在写什么。

这是我的代码:

function setLogo(txtLogo){
    //edit logo by textarea
    var myLogo = $("#title-logo");
    myLogo.text(txtLogo);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="txtLogo" onkeyup="setLogo(this)" value="Logo Text">
<h2 id="title-logo"></h2>

当我写作时,我可以在h2 中看到[object HTMLInputElement],但如果我什么都不写,我就什么也看不到。有什么想法吗?

【问题讨论】:

  • 所以读取值....您正在引用元素
  • 没有内联代码的jQuery解决方案:$('#txtLogo').on('input', function () { $('#title-logo').text($(this).val()); });

标签: html jquery onkeyup


【解决方案1】:

您不必将对象 txtLogo 设置为文本,而是将其设置为 value

function setLogo(txtLogo){
    //edit logo by textarea
    var myLogo = $("#title-logo");
    myLogo.text(txtLogo.value);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="txtLogo" onkeyup="setLogo(this)" value="Logo Text">
<h2 id="title-logo"></h2>

【讨论】:

    【解决方案2】:

    在您的情况下,您正在传递一个元素。但是你需要传递这个元素的文本值。您可以通过两种方式解决此问题。

    value 参数添加到 txtLogo。应该是这样的:

    myLogo.text(txtLogo.value);
    

    或者您可以在&lt;input&gt; 标记内的事件onkeyup 中为this 编写相同的参数。像这样:

    onkeyup="setLogo(this.value)"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-19
      • 1970-01-01
      • 2018-07-07
      • 2017-01-10
      • 1970-01-01
      • 2018-10-30
      相关资源
      最近更新 更多