【问题标题】:Dynamically updating h1 element with another form element's textarea value使用另一个表单元素的 textarea 值动态更新 h1 元素
【发布时间】:2012-03-03 01:17:19
【问题描述】:

我可以用同一 html 页面上的 textarea 的值动态替换 h1 元素的值。但是,一旦我在页面上放置了多个表单,将 h1 标记放在一个表单上,并将 textarea 放在另一个表单上,当我尝试仅使用纯 Javascript 将 h1 值更新为 textarea 值时,什么也没有发生。

我尝试过getElementByIdgetElementByTagNameinnerHTMLsetAttribute 无济于事。这是不可能的还是我错过了什么?我在网上找不到解决此问题的单个示例。

更新:

  <form id=form1 action="">
    <h1 id="h1tag">I'm H1</h1>
  </form>

  <form>
   <label for='text1'>Change H1:</label>
   <input type="textarea" value="" id="text1"/>
   <button onclick="newHeading();">newHeading()</button>
  </form>

外部javascript: 函数新标题() { document.getElementById(h1tag).innerHTML = document.getElementById(text1).value; }

【问题讨论】:

  • 发布您的代码。您所说的完全有可能,但是没有人可以在不了解您当前代码中的问题的情况下为您提供帮助。
  • 添加了代码 Nathan。希望这是有道理的。 JS新手。

标签: javascript dom


【解决方案1】:

使用简单的function 和正确的ID

function updateH1(ta,h1) {
    var textArea=document.getElementById(ta),header=document.getElementById(h1);
    if(textArea.value) {
        header.innerHTML=textArea.value;
    }
    else {
        textArea.focus();
    }
}

然后在您的form 中使用它,并将onsubmit() 设置为return false

<h1 id="test_h1">This will change</h1>
<form onsubmit="return false;">
    <label for="text1">Change H1:</label>
    <input type="text" value="" id="text1"/>
    <button onclick="updateH1('text1','test_h1');">updateH1()</button>
</form>

【讨论】:

  • 我刚刚尝试了这个 'faino 但没有运气。你能看看我上面的代码并告诉我我做错了什么吗?谢谢。
  • 您需要在表单上添加return false,您的脚本才能在不重新加载页面的情况下运行;检查我对工作脚本的回答。
  • 终于!谢谢@faino!我在那里不知所措。非常感谢。
猜你喜欢
  • 2014-09-24
  • 1970-01-01
  • 2012-03-20
  • 1970-01-01
  • 1970-01-01
  • 2015-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多