简单的计算脚本问题

时间:2015-07-07 13:02:21

标签: javascript

我正在尝试为我的网站制作一个非常简单的计算器。

基本上,我希望人们能够将重量放入文本框中,单击“计算剂量”,然后脚本将其权重乘以我将为每个页面设置的数字。

这就是我现在所拥有的。它不仅不起作用,而且还阻止我的一个广告显示:

<div>
<input id="inputweight" type="text" />
<input type="button" value="Calculate Dose" onClick="calculate()">
<input id="result" />
</div>

<script>

    function calculate() {
    var weight = document.getElementById('inputweight').value;
    var result = document.getElementById('result'); 
    var dosage = weight.value * 1;
    result.value = dosage;

}
</script>

它出了什么问题?

5 个答案:

答案 0 :(得分:2)

您在按钮

中缺少结束标记/>
<input type="button" value="Calculate Dose" onClick="calculate()"/>

您已经存储了重量值

var weight = document.getElementById('inputweight').value;

所以你不需要这个var dosage = weight.value * 1;

所以使用var dosage = weight * 1;

 function calculate() {
    var weight = document.getElementById('inputweight').value;
    var result = document.getElementById('result'); 
    var dosage = weight * 1;
    result.value = dosage;
 }

答案 1 :(得分:1)

这一行:

var weight = document.getElementById('inputweight').value;

和此:

var dosage = weight.value * 1;

不能很好地合作。您正在检索该值,然后检索该值......这些值无法正常工作 因此,将第二行替换为:

var dosage = weight * 1;

此外:您应该检查控制台是否有错误,它应该显示在那里。

我假设(或者,更准确地说)不再有效的广告因为javascript执行通常在发生错误后终止而停止。

答案 2 :(得分:1)

只需更新此行(删除上面已提取的value属性):

var dosage = * 1;

这样可行,但您可能还想添加此项以增加类型安全性(它将权重解析为数字):

var dosage = parseInt(weight, 10) * 1;

答案 3 :(得分:1)

在您的代码块中,您在第二个输入语句的末尾缺少结束/。哪个应该在你的HTML中给你一个问题。

<input type="button" value="Calculate Dose" onClick="calculate()"/>

在功能的第三行,你也不需要重量。值。相反它应该是:

var dosage = weight * 1;

答案 4 :(得分:1)

小提示演示修改后的示例: http://jsfiddle.net/x38ommxs/

&#13;
&#13;
function calculate() {
    var weight = document.getElementById('inputweight').value;
    var result = document.getElementById('result');
    var dosage = weight * 1;
    result.value = dosage;
}
&#13;
<div>
    <input id="inputweight" type="text" />
    <input type="button" value="Calculate Dose" onClick="calculate()" />
    <input id="result" />
</div>
&#13;
&#13;
&#13;

在按钮上添加了缺少的结束标记

更改剂量以将存储在重量中的值乘以1。