【问题标题】:Javascript form innerHTMLJavascript表单innerHTML
【发布时间】:2012-09-12 17:19:26
【问题描述】:

innerHTML 和 getElementsById() 有问题;方法,但我不确定这两种方法是否是我遇到的问题的根源。

这是我的代码:

<script type="text/javascript">

     function clearTextField(){
         document.getElementsById("commentText").value = "";
     };

     function sendComment(){
         var commentaire = document.getElementById("commentText").value;
         var htmlPresent = document.getElementById("posted");

         htmlPresent.innerHTML = commentaire;
         clearTextField();
     };
</script>

我的 HTML 代码是这样的:

<!doctype html>
<html>
 <head></head>
  <body>

   <p id="posted"> 
   Text to replaced when user click Send a comment button
   </p>

   <form>

  <textarea id="commentText" type="text" name="comment" rows="10" cols="40"></textarea> 
  <button id="send" onclick="sendComment()">Send a comment</button> 

   </form>
  </body>
 </html>

所以理论上,此代码将从文本区域获取用户输入并替换 &lt;p&gt; 标记之间的文本。它实际上工作了半秒钟:我看到文本迅速更改为用户在文本区域中输入的内容,&lt;p&gt; 标记之间的文本被来自&lt;textarea&gt; 的用户输入替换,它立即返回到原始文本。

之后,当我检查源代码时,html 代码并没有改变一点,因为 html 应该被替换为来自 textarea 的任何用户输入。

我尝试了三种不同的浏览器,我也尝试过 getElementByTagName();方法没有成功。

我错过了什么吗?我的代码看起来合法且干净,但有些东西正在逃脱我的掌握。

我想要从这段代码中替换给定标记(如&lt;p&gt;)之间的HTML代码,由用户在textarea中输入,但它只替换几毫秒并返回原始html。

任何帮助将不胜感激。

编辑:我想将文本添加到 html 页面。更改页面上可见的文本。不一定在源头。 . .

【问题讨论】:

标签: javascript


【解决方案1】:

没有document.getElementsById,但是一个document.getElementById。这可能是您的问题的根源。

【讨论】:

    【解决方案2】:

    我认为没有任何document.getElementsById 功能。应该是document.getElementById

    【讨论】:

      【解决方案3】:

      “要设置或获取 input 或 textarea 元素的文本值,请使用 .val() 方法。”

      查看 jquery 网站...http://api.jquery.com/val/

      【讨论】:

      • 请记住,这只有在您使用 jQuery 时才有效。
      猜你喜欢
      • 2013-01-10
      • 2013-07-29
      • 2012-02-13
      • 2011-01-25
      • 2012-11-25
      • 2015-10-12
      • 2011-12-17
      • 2018-04-07
      • 2011-01-16
      相关资源
      最近更新 更多