2014-08-27 2 views
0

У меня есть форма заказа с несколькими полями ввода флажков. Я хочу показать пользователю выбор, сделанный перед отправкой формы. Сценарий js, показанный ниже, работает по назначению, если пользователь проверяет флажок, значение этого поля показано в абзаце. Проблема в том, что каждый дополнительный флажок check переопределяет предыдущий показанный результат.JS выводит все проверенные значения полей ввода перед формой submit

Как изменить скрипт для вывода всех отмеченных флажков?

Это PHP форма:

<input type="checkbox" onchange="toggleCheckbox(this)" value="1" name="1"> 
<input type="checkbox" onchange="toggleCheckbox(this)" value="2" name="2"> 
<input type="checkbox" onchange="toggleCheckbox(this)" value="3" name="3"> 
<input type="checkbox" onchange="toggleCheckbox(this)" value="4" name="4"> 
<input type="checkbox" onchange="toggleCheckbox(this)" value="5" name="5"> 
<input type="checkbox" onchange="toggleCheckbox(this)" value="6" name="6"> 
<input type="checkbox" onchange="toggleCheckbox(this)" value="7" name="7"> 

JavaScript я использую:

<script type="text/javascript"> 
    function toggleCheckbox(element){ 
     if (element.checked){ 
     document.getElementById("test").innerHTML = element.value; 
     } 
     else document.getElementById("test").innerHTML = ""; 
} 
</script> 

Поле HTML:

<p id="test"></p> 
+0

Возможный дубликат: http://stackoverflow.com/questions/2155622/get-a-list-of-checked-checkboxes-in-a-div-using-jquery – Naruto

ответ

1

+ = не =

function toggleCheckbox(element){ 
     if (element.checked) 
     document.getElementById("test").innerHTML += " " + element.value; 
     else 
     document.getElementById("test").innerHTML = 
      document.getElementById("test").innerHTML.replace(element.value, ""); 
    } 
+0

Это сделал трюк. Тем не менее, любая идея о том, как изменить часть else, чтобы удалить только элемент, который не был отмечен? – CiprianD

+0

см. Редактировать ... –

+0

Высший класс! Большое спасибо за быстрые ответы: D – CiprianD

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