Сумма значений полей при нажатии на них
Добрый день, начал изучать js, делаю задачки, и вот здесь возникла проблема.
Дано 4 поля. При нажатии на два любых поля выводится сообщение о сумме их значений. У меня пока только так, но это не совсем то, что нужно:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input id="i1" onkeyup="f()"><input id="i2" onkeyup="f()">
<input id="i3"><br>
</body>
</html>
function f(){
var n1=document.getElementById('i1').value;
var n2=document.getElementById('i2').value;
document.getElementById('i3').value=Number(n1)+Number(n2);
}
|
Alex2033,
в чём вопрос? |
Цитата:
Тут же, как я понимаю, нужно сделать 4 поля, записать в эти поля значения, и после этого кликнуть на любые два поля, после чего должно произойти оповещение(alert), то есть окно с суммой значений кликнутых раннее этих самых двух полей. Если попроще, то у нас 4 поля, и присвоим каждому полю свой номер: 1 2 3 4 Я начинаю кликать, например так: 1-2, после того как я нажал на 2 поле, приходит оповещение с суммой этих двух полей, потом я жму ок, нажимаю 3-2 и тд и тп |
Цитата:
|
Alex2033,
ничего не понял |
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input type="text" id="i1" onblur="f()"><br>
<input type="text" id="i2" onblur="f()"><br>
<input type="text" id="i3" onblur="f()"><br>
<input type="text" id="i4" onblur="f()"><br>
<script>
function f(){
var n1=document.getElementById('i1').value;
var n2=document.getElementById('i2').value;
var n3=document.getElementById('i3').value;
var n4=document.getElementById('i4').value;
alert(Number(n1)+Number(n2)+Number(n3));
}
</script>
</body>
</html>
Так? или я тоже ничего не понял |
Цитата:
|
Alex2033,
не понимаю что вы хотите сделать, но возможно вы хотите так oninput="f()"
function f(){
var n1=+document.getElementById('i1').value||0;
var n2=+document.getElementById('i2').value||0;
document.getElementById('i3').value=n1+n2;
}
|
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input type="text" id="i1" onchange="f()"><br>
<input type="text" id="i2" onchange="f()"><br>
<input type="text" id="i3" onchange="f()"><br>
<input type="text" id="i4" onchange="f()"><br>
<script>
function f(){
var n1=document.getElementById('i1').value;
var n2=document.getElementById('i2').value;
var n3=document.getElementById('i3').value;
var n4=document.getElementById('i4').value;
alert(Number(n1)+Number(n2)+Number(n3));
}
</script>
</body>
</html>
Так? |
Давайте иначе, вернемся к 4 полям:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<span>Первая пара полей:</span><br>
<input id="i1" onkeyup="f1()" style="border-radius: 5px;">+<input id="i2" onkeyup="f1()" style="border-radius: 5px;">
<br>
<span>Вторая пара полей:</span><br>
<input id="i3" onkeyup="f2()" style="border-radius: 5px;">+<input id="i4" onkeyup="f2()" style="border-radius: 5px;">
</body>
</html>
function f1(){
var n1 = document.getElementById('i1').value;
var n2 = document.getElementById('i2').value;
var sum1 = Number(n1)+Number(n2);
alert("Сумма первой пары полей равна: " + sum1);
}
function f2(){
var n3 = document.getElementById('i3').value;
var n4 = document.getElementById('i4').value;
var sum2 = Number(n3)+Number(n4);
alert("Сумма первой пары полей равна: " + sum2);
}
Как вы видите, после того как я заполнил первое поле мне выводит alert о сумме, тк второе поле считается как ноль, как сделать так, чтобы только после ввода в оба поля, появлялся alert, просто не совсем удобно получается |
| Часовой пояс GMT +3, время: 03:05. |