2012-03-14 2 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

Я понял. Я назначал его переменной, которая также называлась toppings. благодаря – CodyK

0

Посмотрите на этот пример, который также показывает, как метки используются должным образом: http://jsbin.com/upeqam

Смежные вопросы