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