2010-11-19 37 views
9

複数の評価を持つフォームのフォーム検証スクリプトを作成していますが、「評価をつける」というテキストを少し挿入したいと思います。ユーザが逃した各評価について、私はこれを行うには、以下のコードを書いたが、give_ratingノードは、フォーム上の最後のノードにのみ追加される問題に実行しています。私はこれがappendChildが基本的にノードを複製するのではなく移動するので、cloneNodeを使ってこの問題を解決しようとしたが、私のJSを完全に破壊するためだと分かっている。JS内の同じノードで複数回appendChildを使用する

とにかく、ここにコードがあります。私は間違って何をしていますか?あなたの助けのための

おかげで、

var give_rating = document.createElement('span'); 
give_rating.className='small red'; 
give_rating.innerHTML = '<strong> &nbsp;Give a rating!</strong>'; 

document.getElementById('rating1').appendChild(give_rating); 
document.getElementById('rating2').appendChild(give_rating); 

私はコードgive_rating上記のコードを使用し

クリスは 'rating2' に追加されます。

document.getElementById('rating1').appendChild(give_rating.cloneNode(True)); 
document.getElementById('rating2').appendChild(give_rating.cloneNode(True)); 

このコードを使用すると、スクリプト全体が失敗します。 「評価をつける」のインスタンスを追加するにはどうすればいいですか?ユーザーの記入に失敗したフォームの各レーティングについて

答えて

4

JavaScriptは大文字と小文字を区別します:Truetrue(小文字)にする必要があります。

+0

OMGカサブランカ、私はこの質問を提出した直後にFirebugをダウンロードし、コンソールを実行してこれを理解しました。お返事をありがとうございます。 JSドライブ私ナット:) – Chris

0
  1. 作成したhtml要素またはドキュメントを挿入することができます。したがって、cloneNode()関数を呼び出さなければなりません。
  2. JavaScriptは大文字と小文字を区別します。したがって、cloneNode(True)の代わりにcloneNode(true)にする必要があります。
  3. F12を押して、ブラウザのJavaScriptデバッガ(ChromeとIE/Edgeの両方)をオンにすることができます。それであなたのスクリプトに何が起こるかを見ることができます。
関連する問題