Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript 101:增值税计算器不响应数据输入_Javascript_Calculator - Fatal编程技术网

javascript 101:增值税计算器不响应数据输入

javascript 101:增值税计算器不响应数据输入,javascript,calculator,Javascript,Calculator,我猜onload函数没有正确实现。输入数字或字母不会得到相应的错误或计算响应 这是我目前的代码: var$=函数(id){ 返回文档.getElementById(id); } var calculateTaxAndTotals=函数(){ var taxRate=parseFloat($(“taxRate”).value);//税率,以百分比表示(例如8.5) var subTotal=parseFloat($(“itemPrice”).value);//项目价格,例如$5.95 $(“销售

我猜onload函数没有正确实现。输入数字或字母不会得到相应的错误或计算响应

这是我目前的代码:

var$=函数(id){
返回文档.getElementById(id);
}
var calculateTaxAndTotals=函数(){
var taxRate=parseFloat($(“taxRate”).value);//税率,以百分比表示(例如8.5)
var subTotal=parseFloat($(“itemPrice”).value);//项目价格,例如$5.95
$(“销售税”)。价值=”;
$(“totalItemCost”)。value=“”;

如果(isNaN(taxRate)| | taxRate存在两个问题

首先,JSFIDLE处理主html结构本身,因此不需要新的
body
标记等

其次,这里的Javascript需要加载到头部或主体中(在JSFIDLE的左上角,您可以选择不同的加载位置)

最后,应该说,
calculatexandtotals
的定义中有一些错误

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);
    }

if(isNaN(税率)| | taxRate您需要添加一些代码来链接到jsfiddle。此外,这让我们知道代码的哪些部分有问题。您从哪里获得这些代码的?它看起来像是来自某个教程……基本上,我正在读一本Murach的书。我可能在你们编辑jsfiddle时更改了jsfiddle。我现在不碰它了。是吗除了我在回答中更改的内容(即javascript),不需要更改任何其他内容。请查看我链接到的小提琴以查看其实际操作。如果需要,可以添加事件处理程序以在输入后自动计算,但这超出了问题的范围。
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);
    }