vcbertini
asked on
JavaScript Math function is not working
I inherited a javaScript function that runs in one of our registration pages. The purpose of the function is that when someone checks a box or enters a number into one of the text fields, it is supposed to calculate the sum total and populate a "total" field at the bottom of the page. The function *seems* to work in IE, but not in Firefox and I can't seem to track down why. I'm not a big expert in JavaScript, but I know enough to get by. This code is ancient, so it's probably just some keyword that has been discontinued during the last 4 releases or so. Help!
The second function is just supposed to set a value in a text field. I'm not sure if it's the function itself, or how it's being called, but it doesn't work in either Firefox or IE.
An example of the way these functions are being called is as follows:
<input onClick="calcSum();setFour some()" name="sponsoropp1" type="checkbox" id="sponsoropp1" title="7500" value="$7,500 Champion Level">
The second function is just supposed to set a value in a text field. I'm not sure if it's the function itself, or how it's being called, but it doesn't work in either Firefox or IE.
An example of the way these functions are being called is as follows:
<input onClick="calcSum();setFour
function calcSum() {
var tSum = parseInt(regForm.total.value);
var singles = parseInt(regForm.singles.value) * 275;
var dinnerseats50 = parseInt(regForm.dinnerseats50.value) * 50;
var donation = parseInt(regForm.donation.value);
var sponsoropp1=0;
var sponsoropp2=0;
var sponsoropp3=0;
var sponsoropp4=0;
var sponsoropp5=0;
var sponsoropp6=0;
var sponsoropp7=0;
if (regForm.sponsoropp1.checked) {
var sponsoropp1 = parseInt(regForm.sponsoropp1.title);
}
if (regForm.sponsoropp2.checked) {
var sponsoropp2 = parseInt(regForm.sponsoropp2.title);
}
if (regForm.sponsoropp3.checked) {
var sponsoropp3 = parseInt(regForm.sponsoropp3.title);
}
if (regForm.sponsoropp4.checked) {
var sponsoropp4 = parseInt(regForm.sponsoropp4.title);
}
if (regForm.sponsoropp5.checked) {
var sponsoropp5 = parseInt(regForm.sponsoropp5.title);
}
if (regForm.sponsoropp6.checked) {
var sponsoropp6 = parseInt(regForm.sponsoropp6.title);
}
if (regForm.sponsoropp7.checked) {
var sponsoropp7 = parseInt(regForm.sponsoropp7.title);
}
tSum = Math.round((singles+sponsoropp1+sponsoropp2+sponsoropp3+sponsoropp4+sponsoropp5+sponsoropp6+sponsoropp7+dinnerseats50+donation)*100)/100;
regForm.sum_singles.value = singles;
regForm.sum_sponsoropp.value = sponsoropp1+sponsoropp2+sponsoropp3+sponsoropp4+sponsoropp5+sponsoropp6+sponsoropp7;
regForm.sum_dinnerseats50.value = dinnerseats50;
regForm.total.value = tSum;
function setFoursome() {
if ((regForm.sponsoropp1.checked) || (regForm.sponsoropp2.checked) ||
(regForm.sponsoropp3.checked) || (regForm.sponsoropp4.checked) ||
(regForm.sponsoropp5.checked) || (regForm.sponsoropp6.checked)) {
regForm.golfer1.value = "Enter full name";
regForm.golfer2.value = "Enter full name";
regForm.golfer3.value = "Enter full name";
regForm.golfer4.value = "Enter full name";
}
}
}
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
bugada, good catch.
Line 53 (the closing curly brace) should be move ahead of line 42 (the function setFourSome() line
Line 53 (the closing curly brace) should be move ahead of line 42 (the function setFourSome() line
ASKER
Actually, I did move the bracket - it looked strange being embedded like that, and now it seems to be working. I kick myself if that was the actual problem. I added the alert comment above and tested it. All the variables are coming back okay now.
ASKER
Thank you. What a simple thing. I was looking for something more complex.
Open in new window