复选框输入保持选中状态?



我是HTML新手,我正在尝试使用HTML和Javascript制作邮资计算器,如果用户想要快递,用户可以输入包裹的名称重量。所有选项都会影响价格,但由于某种原因,我的可变快递成本停留在 5 英镑。

<!DOCTYPE html>
<html>
<head>
<title>Postage Calculator</title>
<script>
function calCost() {
console.log("Invoked calCost()")
document.getElementById('displayName').innerHTML = document.getElementById("name").value;
var expressCost = 0;
if (document.getElementById('express').checked) ; //always checked 
{
console.log("yup"); // this was to test if it was staying checked which it does.
expressCost = 5;
}
if (document.getElementById('r1').checked) {
document.getElementById('displayCost').innerHTML = "u00A3" + (2 * document.getElementById("weight").value + expressCost);
}
else if (document.getElementById('r2').checked) {
document.getElementById('displayCost').innerHTML = "u00A3" + (10 * document.getElementById("weight").value + expressCost);
}
else {
document.getElementById('displayCost').innerHTML = "u00A3" + (5 * document.getElementById("weight").value + expressCost);
}
}
</script>

<label> Enter your name <input type = "text" name="name" id="name"></label><br>
<br>
<label> Enter weight  <input type = "text" name="weight" id ="weight"></label> Kilograms<br>
<br>
<label>Do you want express delivery?<input type="checkbox" name="express" id="express"></label> Additional 5 Pounds <br>
<br>
<input type="radio" id="r1" name="rate" value="United Kingdom" checked="checked"> United Kingdom - 2 per Kilo<br>
<input type="radio" id="r2" name="rate" value="United States"> United States - 10 per Kilo<br>
<input type="radio" id="r3" name="rate" value="Europe">  Europe - 5 per Kilo <br>

这是用于计算总成本的 javascript,我已经测试了启动程序并提交,即使没有检查,也会立即将 5 英镑添加到总数中,我不知道。

还刚刚注意到我的变量是"变量初始值设定项是多余的">

if (document.getElementById('express').checked) ; //always checked 

那条线正在困扰你。它包含;,它创建一个块作用域,其中包含下一个总是执行的{ }

编辑:使用javascript linter可以避免这样的问题,并且与您的风格和缩进保持一致。

最新更新