0

innerHTML と getElementsById(); に問題があります。メソッドですが、これら2つのメソッドが私が抱えている問題の根本であるかどうかはわかりません.

ここに私のコードがあります:

<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>

<p>したがって、理論的には、このコードはテキストエリアからユーザー入力を取得し、マークアップ間のテキストを置き換えます。実際には0.5秒間機能します。テキストがユーザーがテキストエリアに入力したものに急速に変化し、マークアップ間のテキストが<p>ユーザー入力に置き換えられ、<textarea>すぐに元のテキストに戻ります。

その後、ソース コードを確認すると、html はテキストエリアからのユーザー入力に置き換えられているはずなので、html コードは少しも変更されていません。

私は3つの異なるブラウザを試しました. getElementByTagName(); も試しました. 成功しない方法。

私は何かが恋しいですか?私のコードは正当できれいに見えますが、何かが私の把握を逃れています。

このコードで私が望んでいたのは、特定のマークアップ ( のような<p>) の間の HTML コードをテキストエリアのユーザー入力によって置き換えることですが、それは数ミリ秒だけ置き換えて元の html に戻るだけです。

どんな助けでも大歓迎です。

編集: HTML ページにテキストを追加したい。ページに表示されるテキストを変更します。ソースにあるとは限りません。. .

4

3 に答える 3

0

はありませんdocument.getElementsById、あります。これがおそらく問題の原因です。document.getElementById

于 2012-09-12T17:23:14.533 に答える
0

機能はないと思いdocument.getElementsByIdます。である必要がありますdocument.getElementById

于 2012-09-12T17:23:29.020 に答える
-1

"input または textarea 要素のテキスト値を設定または取得するには、.val() メソッドを使用します。"

jquery サイトをチェックしてください... http://api.jquery.com/val/

于 2012-09-12T17:27:20.600 に答える