arti_djeims
@arti_djeims

Как получить данные которые пользователь ввел в форму на js?

Я создал форму которая получает на что поставит галочки человек, но пробелма в том что оно не зависимо поставил человек галочку или нет будет то поулчать данные, как получать данные только если человек именно поставил туда галочку

Какими языками вы владеете:<br>
  <input type="checkbox" id="lan5" name="lan5" value="0" checked >русский
  <input type="checkbox" id="lan1" name="lan1" value="2" >английский
  <input type="checkbox" id="lan2" name="lan2" value="2">немецкий
  <input type="checkbox" id="lan3" name="lan3" value="2">китайский
  <input type="checkbox" id="lan4" name="lan4" value="2">арабский<br>
  <input type="button" id="calculate" onclick="displayResult()" value="Расчитать ">
<script>
  function displayResult()
            {
                var length1 = document.getElementById('lan1').value;
				var length2 = document.getElementById('lan2').value;
				var length3 = document.getElementById('lan3').value;
				var length4 = document.getElementById('lan4').value;
				var length5 = document.getElementById('lan5').value;

                document.getElementById('result').innerHTML =  calculateAll(length1, length2, length, length4, length5);
  function calculateAll(length1, length2, length3, length4, length5)
            {
                return length1 + length2 + length3 +  length4 + length5;
            }
</script>
  • Вопрос задан
  • 1335 просмотров
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
У вас скрипт срабатывает прямо во время загрузки формы. Нужно вынести его в функцию, а на форму повесить обработчик, ожидающий галочку.
Ответ написан
@Tem_ka
Примерно так:
var checked = document.querySelectorAll('input[type="checkbox"]:checked');
var sum = 0;
for (var i=0; i<checked.length; i++) {
	sum += checked.item(i).value;
}

Или так:
var checkboxes = document.querySelectorAll('input[type="checkbox"]');
var sum = 0;
for (var i=0; i<checkboxes.length; i++) {
	if (checkboxes.item(i).checked == true)
		sum += checkboxes.item(i).value;
}


В твоем случае как-то так:
<!DOCTYPE HTML>
<html>
	<head>
		<title>Тег INPUT, атрибут checked</title>
	</head>
	<body>
		<form method="post" action="input5.php">
		  Какими языками вы владеете:<br>
		  <input type="checkbox" id="lan5" name="lan5" value="0" checked >русский
		  <input type="checkbox" id="lan1" name="lan1" value="2" >английский
		  <input type="checkbox" id="lan2" name="lan2" value="2">немецкий
		  <input type="checkbox" id="lan3" name="lan3" value="2">китайский
		  <input type="checkbox" id="lan4" name="lan4" value="2">арабский<br>
		  <input type="button" id="calculate" onclick="displayResult()" value="Расчитать ">
		</form>
		<div id="result"></div>
	</body>
	<script>
		function displayResult (){
			var checkboxes = document.querySelectorAll('input[type="checkbox"]:checked'),
				result = 0;
			for (var i=0; i<checkboxes.length; i++) {
				result += parseInt(checkboxes.item(i).value, 10);
			}
			document.getElementById('result').innerHTML = result;
		}
	</script>
</html>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы