Показать сообщение отдельно
  #1 (permalink)  
Старый 22.01.2016, 15:24
Новичок на форуме
Отправить личное сообщение для Agard Посмотреть профиль Найти все сообщения от Agard
 
Регистрация: 10.11.2013
Сообщений: 3

Функция суммирует значения флажков без сброса
Здравствуйте!
Есть функция, передающая значения отмеченных флажков в группе, html:
<input  name="form[vozvrat][]" type="checkbox" value=" С возвратом" id="vozvrat0" onchange = "getvozvrat()" />
<input  name="form[vozvrat][]" type="checkbox" value=" Выходной день" id="vozvrat1" onchange = "getvozvrat()" />
<input  name="form[vozvrat][]" type="checkbox" value=" Специальное поручение" id="vozvrat2" onchange = "getvozvrat()" />

function getvozvrat()  {
	var j;
  for(j=0;j<document.getElementsByName('form[vozvrat][]').length;j++)
    if (document.getElementById('vozvrat'+j).checked)
	document.getElementById('vozvratp').innerHTML += " " + document.getElementById('vozvrat'+j).value;

}

Если отметить все флажки, получится: С возвратом С возвратом Выходной день С возвратом Выходной день Специальное поручение.
При том, что надо: С возвратом, Выходной день, Специальное поручение.
В javascript очень слабо понимаю, но догадываюсь - нет сброса. Хотя, код ниже (только для радиокнопок) работает нормально.
var i;
  for(i=0;i<document.getElementsByName('form[rejim]').length;i++)
    if (document.getElementById('rejim'+i).checked)
    document.getElementById('rejimp').innerHTML = document.getElementById('rejim'+i).value;

Передача происходит сюда:
<span id="vozvratp">.</span>

Если присваивание в первой функции сделать так как во второй, будет подставляться одно (последнее) значение. Если отметить один чекбокс, будет одно значение, если еще один (другой), то: один+один+другой; если снять флажки с отмеченных, то остаются их значения...
Если не трудно - подскажите пожалуйста - в чем проблема, или ссылку на пример.
Спасибо!

Последний раз редактировалось Agard, 22.01.2016 в 15:34.
Ответить с цитированием