我一直收到一条错误,指出未捕获类型错误:无法设置undefined的'value'属性。我知道它是指波纹管代码中的dienumber,我理解错误意味着什么,但在这种情况下我感到困惑。我的随机数是否会产生问题?谢谢!
function roll() {
var dienumber = 12;
dienumber = Math.floor((Math.random() * 6) + 1);
wintotal = document.JForm.totalpoints.value;
var p1curr = 0;
var p2curr = 0;
p1current = document.JForm.p1turn.value;
p2current = document.JForm.p2turn.value;
if (dienumber != 1) {
p1curr = parseFloat(p1current) + (dienumber);
p2curr = parseFloat(p2current) + (dienumber);
} else {
p1curr = 0;
p2curr = 0;
}
if (P1 == 1) {
document.JForm.p1turn.value = p1curr;
document.JForm.p2turn.value = "0";
} else {
document.JForm.p1turn.value = "0";
document.JForm.p2turn.value = p2curr;
}
if (dienumber == 1) {
turn_counter = turn_counter + 1;
if (P1 == 1) {
P1 = 2;
P2 = 1;
} else {
P1 = 1;
P2 = 2;
}
}
document.JForm.dienum.value = dienumber;
答案 0 :(得分:1)
没有HTML代码,很难找到错误。
但该消息通常意味着您正在访问的项目(标记)不存在。
答案 1 :(得分:1)
在代码的最后一行,
您尝试设置undefined的值 I,E:
document.JForm.dienum.value = dienumber;
在设置值之前,请确保您的JForm中有dienum。
如果你有一个if检查来摆脱这样的错误会更好,
if(document.JForm.dienum){
document.JForm.dienum.value = dienumber;
}