javascript 101:增值税计算器不响应数据输入
javascript 101: sales tax calculator does not respond to data entry
我猜onload函数没有正确实现。输入数字或字母不会得到适当的错误或计算响应。
这是我目前的代码:
http://jsfiddle.net/907yn57r/
var $ = function (id) {
return document.getElementById(id);
}
var calculateTaxAndTotals = function () {
var taxRate = parseFloat($("taxRate").value); //The tax rate, as a percentage (e.g. 8.5)
var subTotal = parseFloat($("itemPrice").value); //An item price ex $5.95
$("salesTax").value = "";
$("totalItemCost").value = "";
if (isNaN(taxRate) || taxRate <= 0) {
document.taxCalc.taxRate.focus();
document.$("taxRateMessage").firstChild.nodeValue = "Please enter a valid value.";
} else if (isNaN(itemPrice) || itemPrice <= 0) {
document.$("priceMessage").firstChild.nodeValue = "Please enter a valid value.";
} else {
var salesTax = subTotal * (taxRate / 100);
var totalItemCost = salesTax + itemPrice;
$("orderTotal").focus();
alert(totalItemCost);
}
}
window.onload = function () {
calculateTaxAndTotals();
}
有几个问题。
首先,JSFiddle处理主html结构本身,因此您不需要新的body
标记等。
其次,这里的Javascript需要在头部或主体中加载(在JSFiddle的左上角,您可以选择不同的位置进行加载)。
最后,CalculateTaxAndTotals
的定义中有一些错误,应该是
if (isNaN(taxRate) || taxRate <= 0) {
document.taxCalc.taxRate.focus();
$("taxRateMessage").firstChild.nodeValue = "Please enter a valid value.";
} else if (isNaN(subTotal) || itemPrice <= 0) {
$("priceMessage").firstChild.nodeValue = "Please enter a valid value.";
} else {
var salesTax = subTotal * (taxRate / 100);
var totalItemCost = salesTax + itemPrice;
$("orderTotal").focus();
alert(totalItemCost);
}
真正固定的Fiddle
最后的问题是在itemPrice
上调用isNaN
,但变量itemPrice
不存在。
相关文章:
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 函数jquery.html()不提供数据属性集值
- 访问令牌和响应数据
- 我应该如何将响应数据保存在对象(json)中以获得更好的操作和性能
- 如何在UI自动化中捕获响应数据
- Knockout.JS,模板都是通过表单不添加数据的
- 基于类的单击事件在10行之后不响应-数据表
- jquery ajax到php脚本不保存数据
- jQuery-输入时不提交数据
- 为什么我们需要为POST定义res.on('data'..,即使我们不处理数据
- 车把模板不显示数据
- Socket.io socket.emit 不将数据传递到服务器
- Dojo 筛选选择 - 完整的 JSON 响应数据不可见
- html 响应数据 ID 不能在 Facebook API 调用中用作字符串
- javascript 101:增值税计算器不响应数据输入
- Ajax表单同时提交输入数据和文件而不响应
- 在AngularJS中,不能将JSON响应数据赋值给$scope变量
- 智慧.ai不解析数据聊天响应
- 复制Angular响应数据,这样对其中一个的更改不会影响另一个
- Ajax 验证不是空页的响应数据