2012-03-14 15 views
3

こんにちは私は、チェックボックスの値を取得しようとするいくつかの問題があります。学校のプロジェクトではピザ注文フォームがあり、注文の要約を印刷することになっています。私はトッピングを印刷する際に問題が発生しています。Javascriptのチェックボックスの問題

<label><input type = "checkbox" name = "topping" id = "sausage" value = "Sausage"/> Sausage</label> 
<label><input type = "checkbox" name = "topping" id = "pepperoni" value = "Pepperoni"/> Pepperoni</label> 
<label><input type = "checkbox" name = "topping" id = "beef" value = "Beef"/> Beef</label> 
<label><input type = "checkbox" name = "topping" id = "bacon" value = "Bacon"/> Bacon</label><br /> 
<label><input type = "checkbox" name = "topping" id = "chicken" value = "Chicken"/> Chicken</label> 
<label><input type = "checkbox" name = "topping" id = "ham" value = "Ham"/> Ham</label> 
<label><input type = "checkbox" name = "topping" id = "olives" value = "Olives"/> Olives</label> 
<label><input type = "checkbox" name = "topping" id = "peppers" value = "Peppers"/> Peppers</label><br /> 
<label><input type = "checkbox" name = "topping" id = "tomatoes" value = "Tomatoes"/> Tomatoes</label> 
<label><input type = "checkbox" name = "topping" id = "mushrooms" value = "Mushrooms"/> Mushrooms</label> 
<label><input type = "checkbox" name = "topping" id = "pineapple" value = "Pineapple"/> Pineapple</label> 

これは、htmlの部分と私は問題があると思う私のjavascriptの機能があります。

function toppings(inputCollection) { 
    var toppings = ""; 

    for (var i = 0; i < inputCollection.length; i++) { 

     if (inputCollection[i].checked) { 
      toppings = toppings + inputCollection[i].value + " "; 
     } 
    } 

    return toppings; 
} 

私は愚かなミスを犯した場合ので、私を炎しないでくださいJavaScriptにかなり新しいです。ありがとうございました

+0

の値であり、どのような配列inputCollection? –

+0

JSは私にはうまくいくはずですが、これが実際に動作するためには、トッピング入力を 'name'属性を' toppings [] 'に設定することによって配列を配列にする必要があると思います。彼らはすべて 'topping'という名前になっているので、最後の(?)だけがサーバーに送られます。それがJSに全く役立つかどうかは分かりません。 – powerbuoy

+0

@powerbuoy: "[]"接尾辞の表記は、フォームがPHPに提出する場合にのみ必要です。これはPHPの限界です。ブラウザ、Javascript、そしてほとんどのサーバーは気にしません。 – Josh

答えて

1

どのようにあなたの関数を呼び出していますか?

これはそれを行う必要があります - トッピング(document.getElementsByName()「トッピング」)

+0

私はそれを試みました。私のフォームをクリアするだけです。 – CodyK

+0

私はそれを理解しました。私はそれをトッピングとも呼ばれる変数に割り当てていました。ありがとう – CodyK

0

もラベルが適切に使用されている方法を示しており、この例を見てください: http://jsbin.com/upeqam

関連する問題