JavaScript-仅当选中时才计算复选框

JavaScript-仅当选中时才计算复选框,javascript,checkbox,checked,Javascript,Checkbox,Checked,我是一个Javascript初学者,但我已经使用Javascript数学函数为我的站点构建了一个简单的成本估算器 function calc(form) { a = eval(form.a.value) b = eval(form.b.value) c = eval(form.c.value) x = a*(b+c) form.ans.value = parseFloat(x).toFixed(2); } 形式很简单: <form name="fo

我是一个Javascript初学者,但我已经使用Javascript数学函数为我的站点构建了一个简单的成本估算器

function calc(form) {
    a = eval(form.a.value)
    b = eval(form.b.value)
    c = eval(form.c.value)
    x = a*(b+c)
    form.ans.value = parseFloat(x).toFixed(2);
}
形式很简单:

<form name="formx">
    <label for="a">Number of Units :</label>
    <input type="number" size=3 value=0 name="a">
    <label for="b">Price per Unit :</label>
    <select name="b">
        <option value="0.04">0.04</option>
        <option value="0.05">0.05</option>
        <option value="0.06">0.06</option>
    </select>
    <label for="c">Tick if Urgent</label>
    <input name="c" type="checkbox" value="0.01" />
    <input class="button" type="button" value="  CALCULATE  " onClick="calc(this.form)">
    <label for="ans">Total Cost :</label>
    <input value=" £ " name="ans" size=6>
</form>

单位数量:
单价:
0.04
0.05
0.06
如果紧急,请勾选
总成本:
紧急服务的“c”值为0.01,但选中复选框时只需添加,否则其值必须为0。但我似乎无法理解,因为它总是将“c”值添加为0.01,无论是否选中

请帮助

试试这个-

function calc(form) {
    var a = parseFloat(form.a.value)
    var b = parseFloat(form.b.value)
    var c = (form.c.checked) ? parseFloat(form.c.value) : 0;
    var x=a*(b+c)
    form.ans.value=parseFloat(x).toFixed(2);
}
注意-

eval
是邪恶的 来自道格拉斯·克罗克福德的网站-

eval函数是JavaScript最被误用的特性。避免它

eval有别名。不要使用函数构造函数。不通过 要设置超时或设置间隔的字符串

还有,读一下这个-

试试这个-

function calc(form) {
    var a = parseFloat(form.a.value)
    var b = parseFloat(form.b.value)
    var c = (form.c.checked) ? parseFloat(form.c.value) : 0;
    var x=a*(b+c)
    form.ans.value=parseFloat(x).toFixed(2);
}
注意-

eval
是邪恶的 来自道格拉斯·克罗克福德的网站-

eval函数是JavaScript最被误用的特性。避免它

eval有别名。不要使用函数构造函数。不通过 要设置超时或设置间隔的字符串

还有,读一下这个-


考虑使用单选按钮而不是复选框。然后可以将多个值链接到单个对象。有关确切的差异,请参见

考虑使用单选按钮而不是复选框。然后可以将多个值链接到单个对象。请参阅以了解确切的差异