Code: Select all
function calcbatsmen (num, letter, divID) {
var sum = 0;
var tempVal = 0;
var tempNum = 0;
var name = '';
//Retrieve Data && Calculate batsmen score
for (i = 1; i <=7; i++) {
name = 'ball' + num + '.' + i + letter; // construct the element name
tempVal = document.getElementsByName(name)[0].value.toLowerCase();
switch (tempVal) {
case "b" : case "hw" : case "i" : case "c" : case "l" : case "r" : case "mk" : case "s" : case "pm":
tempVal = -5;
break;
case "w": case "n":
tempVal = 2;
break;
case "pp":
tempVal = 5;
break;
default:
tempVal = tempVal;
}
tempNum = Number(tempVal);
sum = sum + tempNum;
}
document.getElementById(divID).innerHTML = sum;
//Calculate Total Over Score
var name1 = 'o' + num + 'b1total';
var name2 = 'o' + num + 'b2total';
var getVar1 = document.getElementById(name1).innerHTML;
var getVar2 = document.getElementById(name2).innerHTML;
var num1 = Number(getVar1);
var num2 = Number(getVar2);
var overallTotal = num1 + num2;
var displayTotalName = 'o' + num + 'battotal';
document.getElementById(displayTotalName).innerHTML = overallTotal;
//Calculate running total
for (i = 0; i < 16; i++) {
var tempRunNum = 0;
var prevScore = 0;
var runningDisplayTotal = 0;
var nextRunningTotalNum = i + 1;
var nextRunningTotalName = 'o' + nextRunningTotalNum + 'runningtotal';
if(document.getElementById(nextRunningTotalName).innerHTML == 0) {
var nextRunningTotal = document.getElementById(nextRunningTotalName).innerHTML;
var nullCheck = true;
}
if(i == 0 && nextRunningTotal == 0 && nullCheck == true) {
var runningTotalName = 'o' + i + 'runningtotal';
document.getElementById(runningTotalName).innerHTML = overallTotal;
}
if(i > 0 && nextRunningTotal > 0 && nullCheck == true) {
tempRunNum = i - 1;
var runningName = 'o' + tempRunNum + 'runningtotal';
var prevScore = document.getElementById(runningName).innerHTML;
prevScore = Number(prevScore);
runningDisplayTotal = overallTotal + prevScore;
alert(runningDisplayTotal);
var runningTotalName = 'o' + i + 'runningtotal';
document.getElementById(runningTotalName).innerHTML = runningDisplayTotal;
}
}
}At the moment I get the error(from firebug) as:
And the var nextRunningTotalName is set right, it just wont seem to work :Sdocument.getElementById(nextRunningTotalName) is null
calcbatsmen(Object name=num value=0, "a", "o0b1total")myJS.js (line 46)
function onchange(event) { calcbatsmen(0, "a", "o0b1total"); }(change )scoreshe...ent/seq/1 (line 2)
[Break on this error] if(document.getElementById(nextRunningTotalName).innerHTML == 0) {\n
Any ideas?
