Javascript 我的计算器没有输出任何东西,也没有在任何测试中给出错误?

Javascript 我的计算器没有输出任何东西,也没有在任何测试中给出错误?,javascript,calculator,Javascript,Calculator,我一直在开发一个简单的价格计算器,它根据客户输入确定每月的支持成本。客户输入他们拥有多少域和用户,这告诉他们我们的成本。我不能让它输出一个总数。 函数getUserPrice(){ var-userPrice=0; var-uPrice=0; //获取对表单id=“users”的引用 var theForm=document.forms(“priceform”); var useNum=形式元素(“用户”); 如果(useNum==1&&useNum=6&&useNum=11&&useNum=

我一直在开发一个简单的价格计算器,它根据客户输入确定每月的支持成本。客户输入他们拥有多少域和用户,这告诉他们我们的成本。我不能让它输出一个总数。

函数getUserPrice(){ var-userPrice=0; var-uPrice=0; //获取对表单id=“users”的引用 var theForm=document.forms(“priceform”); var useNum=形式元素(“用户”);
如果(useNum==1&&useNum=6&&useNum=11&&useNum=16&&useNum代码中有很多错误,我将根据我认为应该存在的情况添加这个答案

1)你应该得到像
document.forms[“priceform”]
这样的表单,而不是
document.forms(“priceform”)
&像
form.element[“domains”]
这样的元素,而不是
form.element(“domains”)

2)你说的是
userPrice=theForm()*uPrice();
但我认为函数
getUserPrice()
中应该有
useNum.value*uPrice
,在
getUserDomain()中也有同样的问题

3)在小提琴中为脚本选择
No Wrap In HEAD

控制台是你的朋友,养成看它的习惯。


我试图指出问题,但如果仍然存在一些问题,请告诉我。

我看到有几个变量,您在其中放置了
theForm()
而不是
表单
。括号仅用于函数和方法调用。您是否进行了任何推断?是否检查了控制台的错误?您应该在浏览器中打开控制台,查看收到的错误。我已经看到两个:
未定义HIDETOAL
未定义CALCULATETOAL
JSFiddle,您需要将左上角的选项从“onload”更改为“no wrap-in head”。这将解决Fiddle中的部分问题。
文档。表单
表单。元素
是Javascript集合。因此,您需要使用方括号
[
]
从集合中获取单个项目。因此
document.forms[“myform”]
是的。一切@Mritunjay都说了
function getUserPrice() {
    var userPrice = 0;
    var uPrice = 0;
    //Get a reference to the form id="users"
    var theForm = document.forms("priceform");
    var useNum = theForm.elements("users");

    if (useNum === 1 && useNum <= 5) {
        uPrice = 2.00;
    } else if (useNum >= 6 && useNum <= 10) {
        uPrice = 1.75;
    } else if (useNum >= 11 && useNum <= 15) {
        uPrice = 1.50;
    } else if (useNum >= 16 && useNum <= 25) {
        uPrice = 1.25;
    } else {
        uPrice = 1.00;
    }

    userPrice = theForm() * uPrice();
    //finally we return domainPrice
    return userPrice;
}

function getDomainPrice() {
    var domainPrice = 0;
    var theForm = document.forms("priceform");
    var domNum = theForm.elements("domains");

    domainPrice = domNum() * 8.00;

    return domainPrice;
}


function calculateTotal() {

    var totPrice = getUserPrice() + getDomainPrice();

    //display the result
    var divobj = document.getElementById('totalPrice');
    divobj.style.display = 'block';
    divobj.innerHTML = "Your Company's Price is: $" + totPrice;

}

function hideTotal() {
    var divobj = document.getElementById('totalPrice');
    divobj.style.display = 'none';
}