Javascript 无法读取属性';价值';当输入给定显式值时为null

Javascript 无法读取属性';价值';当输入给定显式值时为null,javascript,html,Javascript,Html,我知道这种类型的问题以前已经被问过很多次了,而且大多数时候它是固定的,因为元素ID是不同的。但是,我已经将元素中的ID复制并粘贴到JS代码中,并且仍然得到错误,即使我在输入字段中使用了value=“#”。任何想法都会有帮助 //Var var numsessionsvar=parseInt(document.getElementById(“numsessions”).value); var timeofdayvar=document.getElementById(“timeofday”).va

我知道这种类型的问题以前已经被问过很多次了,而且大多数时候它是固定的,因为元素ID是不同的。但是,我已经将元素中的ID复制并粘贴到JS代码中,并且仍然得到错误,即使我在输入字段中使用了value=“#”。任何想法都会有帮助

//Var
var numsessionsvar=parseInt(document.getElementById(“numsessions”).value);
var timeofdayvar=document.getElementById(“timeofday”).value;
var dayvar=document.getElementById(“日”).value;
var价格=”;
//定价
函数计算(){
如果(timeofday=“0700”|“0800”){
价格=“25”;
}
如果(timeofday=“0900”| |“1000”| |“1100”){
价格=“正常费率”;
}
如果(timeofday=“1200”|“1300”){
如果(日=“星期六”){
价格=“20”;
}
否则{
价格=“30”;
}
}
如果(timeofday=“1400”|“1500”){
价格=“20”;
}
如果(timeofday=“1600”|“1700”){
如果(日=“星期六”){
价格=“20”;
}
否则{
价格=“正常汇率”;
}
}
如果(timeofday=“1800”){
价格=“正常费率”;
}
如果(timeofday=“1900”){
价格=“30”;
}
如果(timeofday=“2000”){
价格=“20”;
}
//输出
var总计=价格*数量;
var输出=“英镑”+总计+“.00”;
document.getElementById(“输出”).value=output;
}

星期一
星期二
星期三
星期四
星期五
星期六
0700
0800
0900
1000
1100
1200
1300
1400
1500
1600
1700
1800
1900
2000
算计

您在代码中犯了很多错误

首先,这里是一个工作片段,然后我有一些注释可以帮助您:

函数计算(){
var numsessions=parseInt(document.getElementById(“numsessions”).value),timeofday=document.getElementById(“timeofday”).value,dayvar=document.getElementById(“day”).value,price=“”;
如果(时间段==“0700”|时间段==“0800”){
价格=25;
}
如果(timeofday==“0900”| | timeofday==“1000”| | timeofday==“1100”){
//price=“正常费率”;
价格=25;
       
   }
如果(timeofday==“1200”| timeofday==“1300”){
如果(日=“星期六”){
价格=20;
}
否则{
价格=30;
}
}
如果(时间=“1400”| |时间==“1500”){
价格=20;
}
如果(时间=“1600”| |时间==“1700”){
如果(日=“星期六”){
价格=20;
}
否则{
//价格=“正常费率”;
价格=25;
}
}
如果(时间=“1800”){
//价格=“正常费率”;
价格=25;
}
如果(时间=“1900”){
价格=30;
}
如果(时间=“2000”){
价格=20;
}
//输出
var total=价格*numsessions,输出=“英镑”+总额+“.00”;
document.getElementById(“输出”).value=output;
}

星期一
星期二
星期三
星期四
星期五
星期六
0700
0800
0900
1000
1100
1200
1300
1400
1500
1600
1700
1800
1900
2000
算计

option vaule=“1500”
是一个打字错误,对吗?计算函数的详细信息在哪里?@AndyTheos是的,刚刚捕获并修复了它,问题仍然存在。您定义了numsessionsvar,但随后使用了numsessions。这也是打字错误吗?其他变量的Idem所有的布尔检查都是错误的,它们应该至少使用==并且最好使用==,我也已经修复了它们