Я пытаюсь выполнить расчет с использованием JavaScript. Когда пользователь вводит менее 10 страниц ввода (#page), стоимость равна 1. Если он добавляет более 10, каждая страница стоит .10. есть 2 опции для флажка, если он первый раз щелкнет, будет добавлен флажок 10 и добавлен второй флажок 15.JavaScript Расчет неправильный
Это работает, когда это делается в последовательных шагах. (ввод затем щелчок).
Ex: входной сигнал: 9 (всего: 1) нажмите CheckBox1 - дубликаты (всего: 11) нажмите CheckBox1 - лазер (всего: 26)
Теперь, если я изменить вход 11, то общий становится 1,10 - даже если обе галочки проверяются .. (ожидаемый результат должен быть - 26,10)
Я не знаю, как это сделать ... может кто-нибудь помочь мне
<html>
<head>
<title>Calculation</title>
<script>
function calculate() {
var pages=document.getElementById("page").value;
if(pages <=10) {
total.value=1;
}
if(pages >= 11) {
var extra_pages= pages - 10;
var new_total= extra_pages * .10;
var new_total1= 1 + new_total;
total.value= new_total1;
}
}
function checkbox1() {
if(document.getElementById("ckbox1").checked === true) {
var total1=document.getElementById("total").value;
const add1 = 10;
var check1 = +total1 + +add1;
total.value=check1;
}
if(document.getElementById("ckbox1").checked === false) {
var total1=document.getElementById("total").value;
const sub1 = 10;
var check2 = +total1 - +sub1;
total.value = check2;
}
}
function checkbox2() {
if(document.getElementById("ckbox2").checked === true) {
var total1=document.getElementById("total").value;
const add1 = 15;
var check1 = +total1 + +add1;
total.value=check1;
}
if(document.getElementById("ckbox2").checked === false) {
var total1=document.getElementById("total").value;
const sub1 = 15;
var check2 = +total1 - +sub1;
total.value = check2;
}
}
</script>
<body>
Enter a Number: <input type="text" id="page" value="1" oninput="calculate()">
<br>
<br><br><br><br>
duplicates <input type="checkbox" id="ckbox1" onclick="checkbox1()">
laser print: <input type="checkbox" id="ckbox2" onclick="checkbox2()"> <br><br>
Total: <input type="text" id="total">
</body>
</html>
Ваш 'calculate' не считал' 'duplicates' и лазерную print', поэтому они не будут включены. – fuyushimoya
Вы не указали total.value – WisdmLabs