Показать сообщение отдельно
  #1 (permalink)  
Старый 02.09.2019, 14:21
Интересующийся
Отправить личное сообщение для eLDeR Посмотреть профиль Найти все сообщения от eLDeR
 
Регистрация: 28.05.2019
Сообщений: 23

Помогите допилить скрипт
Помогите пожалуйста допилить скрипт
На выходе хочу получить следующее:
1. Есть чекбокс, ставишь галочку -> открывается поле (работает)
2. Заполняешь значение цифрой -> идет подсчет (Работает) (при условии если в других стоит значение 0 ( если нет то NaN - не могу понять как обойти ))
3. при снятии галочки сброс input значения на 0 (работает)
4. Функция change() все равно оставляет значение поля которое было перед этим и соответственно кнопка "Выбрать" остается активной
<input id="checki1" type="checkbox" name="out[]" value="67" onchange="document.getElementById('submit1').disabled = !this.checked;inputchange();">
<input id="submit1" type="text" name="w[]" class="form-control" required disabled oninput="change()" value="0" />

<input id="checki2" type="checkbox" name="out[]" value="69" onchange="document.getElementById('submit2').disabled = !this.checked;inputchange();">
<input id="submit2" type="text" name="w[]" class="form-control" required disabled oninput="change()" value="0" />

<input id="checki3" type="checkbox" name="out[]" value="66" onchange="document.getElementById('submit3').disabled = !this.checked;inputchange();">
<input id="submit3" type="text" name="w[]" class="form-control" required disabled oninput="change()" value="0" />

<button id="submit" type="submit" class="btn btn-primary btn-lg btn-block" disabled>Выбрать</button>
// Функция которая удаляет значение переводя на 0
function inputchange()
{
	var chkd1 = document.getElementById('checki1').checked;
	if(chkd1 === false)
	{
	document.getElementById('submit1').value = 0;
	}
	var chkd2 = document.getElementById('checki2').checked;
	if(chkd2 === false)
	{
	document.getElementById('submit2').value = 0;
	}
	var chkd3 = document.getElementById('checki3').checked;
	if(chkd3 === false)
	{
	document.getElementById('submit3').value = 0;
	}
}
// Функция которая считает общее значение введенных в поле цифр (блокируя кнопку отправить)
function change()
{
	var inp1 = document.getElementById('submit1').value;
	var inp2 = document.getElementById('submit2').value;
	var inp3 = document.getElementById('submit3').value;
	var inptotal = parseInt(inp1) + parseInt(inp2) + parseInt(inp3);
	document.getElementById('wtotal').innerHTML = inptotal ;
	if (inptotal <= 100 )
	{
		document.getElementById('submit').disabled = false;
	}
	else
	{
		document.getElementById('submit').disabled = true;
	}
}
Ответить с цитированием