Click to See Complete Forum and Search --> : need to validate option buttons


wildbill
11-13-2003, 11:53 AM
Hey guys I am a newbie to JavaScript. I wrote the following code but now I am running into problems when I try and validate my radio buttons. I put the validation code in its own function and called it in the calculation function. Now, when I try and validate the option buttons I am lost on what to do because I used the onClick event handler to take what the user clicks on and put it into a variable....

If anyone can show or tell me how I would validate the buttons in my code I would appreciate it. Thanks guys!

--------------------------------------------------------------------

<HTML>
<HEAD>
<TITLE>Estimate Calculator</TITLE>
<SCRIPT LANGUAGE="JavaScript">

// Variable used to track which, if any, radio button is checked.
var logo_selection="";
var register_selection="";
var hosting_selection="";




</SCRIPT>
</HEAD>

<BODY LEFTMARGIN="0" TOPMARGIN="0">

<TABLE WIDTH="620" BORDER="0" cellpadding=0 cellspacing=0>
<TR>
<TD WIDTH="10"></TD>

<TD WIDTH="600">


<FORM NAME="calc" onSubmit="return calculate()"><input type="hidden" name="Horde" value="4e01829728ea9e570471a3cf5b10a7d7" />
<TABLE BORDER="1" ALIGN="center">

<TR><TH COLSPAN="3"><IMG SRC="estcal.gif" HEIGHT="38" WIDTH="376"></TH></TR>

<TR>
<TD><FONT SIZE=+1>How many pages do you want?:</FONT></TD>
<TD COLSPAN="2">
<CENTER>
<SELECT NAME="pages">
<OPTION VALUE="none">Please Select
<OPTION VALUE="1">1
<OPTION VALUE="2">2
<OPTION VALUE="5">up to 5
<OPTION VALUE="10">up to 10
<OPTION VALUE="20">up to 20
</SELECT>
</CENTER>
</TD>

</TR>


<TR>
<TD><FONT SIZE=+1>Do you need a custom logo designed?:</FONT></TD>


<TD><INPUT TYPE="radio" NAME="logo" VALUE="yes" onClick="logo_selection='yes'">Yes</TD>
<TD><INPUT TYPE="radio" NAME="logo" VALUE="no" onClick="logo_selection='no'">No</TD>
</TR>

<TR>
<TD><FONT SIZE=+1>Do you need to register a domain name?:</FONT></TD>


<TD><INPUT TYPE="radio" NAME="register" VALUE="Yes" onClick="register_selection='yes'">Yes</TD>
<TD><INPUT TYPE="radio" NAME="register" VALUE="No" onClick="register_selection='no'">No</TD>
</TR>

<TR>
<TD><FONT SIZE=+1>Do you want us to host your webpage for a year?:</FONT></TD>


<TD><INPUT TYPE="radio" NAME="hosting" VALUE="Yes" onClick="hosting_selection='yes'">Yes</TD>
<TD><INPUT TYPE="radio" NAME="hosting" VALUE="No" onClick="hosting_selection='no'">No</TD>
</TR>

<TR>
<TD COLSPAN="3"><CENTER><INPUT TYPE="SUBMIT" VALUE="CALCULATE"><INPUT TYPE="RESET" VALUE="RESET"></CENTER></TD>
</TR>
</TABLE>
</FORM>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin hiding script from older Browser


function validate()
{
// validate drop down list
if
(document.calc.pages.options[document.calc.pages.selectedIndex].value=="none")
{
alert("You must select the number of pages you want.")
document.calc.pages.focus()
return false

}


}


var pagePrice = 60

var logoPrice = 75

var domainPrice = 15

var yearHosting = 180


function calculate()
{


if(document.calc.pages.options[document.calc.pages.selectedIndex].value=="none")
validate()


var numberOfPages = document.calc.pages.value




pageTotal = numberOfPages * pagePrice


if(logo_selection=="yes")

pageTotal+= logoPrice


if(register_selection=="yes")

pageTotal+= domainPrice


if(hosting_selection=="yes")


pageTotal+= yearHosting

if(document.calc.pages.options[document.calc.pages.selectedIndex].value!="none")
alert("Your total estimate is: " +pageTotal)

}


//--> End hiding Script

</SCRIPT>

<NOSCRIPT>
Your browser does not support JavaScript or JavaScript has been disabled.
</NOSCRIPT>

<HR noshade COLOR="#FE0232">

<TABLE ALIGN="CENTER">
<TR>
<TD>
<font face="arial" size="1"><CENTER>Copyright &copy; B&D Webdesigns,
2003. All Rights Reserved.</CENTER></FONT>
</TD>
</TR>

<TR>
<TD><A HREF="frameset.html?Horde=4e01829728ea9e570471a3cf5b10a7d7">Home</A> | <A HREF="clients.html?Horde=4e01829728ea9e570471a3cf5b10a7d7">Clients</A> | <A HREF="rates.html?Horde=4e01829728ea9e570471a3cf5b10a7d7">Rates</A> | <A HREF="estimatecalculator.html?Horde=4e01829728ea9e570471a3cf5b10a

wildbill
11-13-2003, 01:48 PM
bump

wildbill
11-13-2003, 04:07 PM
the code to verify buttons is correct but I have a
logic mistake somewhere

<HTML>
<HEAD>
<TITLE>Estimate Calculator - Bill Krumel</TITLE>
<SCRIPT LANGUAGE="JavaScript">

// Variable used to track which, if any, radio button is checked.
var logo_selection="";
var register_selection="";
var hosting_selection="";




</SCRIPT>
</HEAD>

<BODY LEFTMARGIN="0" TOPMARGIN="0">

<TABLE WIDTH="620" BORDER="0" cellpadding=0 cellspacing=0>
<TR>
<TD WIDTH="10"></TD>

<TD WIDTH="600">


<FORM NAME="calc" onSubmit="return calculate()"><input type="hidden" name="Horde" value="4e01829728ea9e570471a3cf5b10a7d7" />
<TABLE BORDER="1" ALIGN="center">

<TR><TH COLSPAN="3"><IMG SRC="estcal.gif" HEIGHT="38" WIDTH="376"></TH></TR>

<TR>
<TD><FONT SIZE=+1>How many pages do you want?:</FONT></TD>
<TD COLSPAN="2">
<CENTER>
<SELECT NAME="pages">
<OPTION VALUE="none">Please Select
<OPTION VALUE="1">1
<OPTION VALUE="2">2
<OPTION VALUE="5">up to 5
<OPTION VALUE="10">up to 10
<OPTION VALUE="20">up to 20
</SELECT>
</CENTER>
</TD>

</TR>


<TR>
<TD><FONT SIZE=+1>Do you need a custom logo designed?:</FONT></TD>


<TD><INPUT TYPE="radio" NAME="logo" VALUE="yes" onClick="logo_selection='yes'">Yes</TD>
<TD><INPUT TYPE="radio" NAME="logo" VALUE="no" onClick="logo_selection='no'">No</TD>
</TR>

<TR>
<TD><FONT SIZE=+1>Do you need to register a domain name?:</FONT></TD>


<TD><INPUT TYPE="radio" NAME="register" VALUE="Yes" onClick="register_selection='yes'">Yes</TD>
<TD><INPUT TYPE="radio" NAME="register" VALUE="No" onClick="register_selection='no'">No</TD>
</TR>

<TR>
<TD><FONT SIZE=+1>Do you want us to host your webpage for a year?:</FONT></TD>


<TD><INPUT TYPE="radio" NAME="hosting" VALUE="Yes" onClick="hosting_selection='yes'">Yes</TD>
<TD><INPUT TYPE="radio" NAME="hosting" VALUE="No" onClick="hosting_selection='no'">No</TD>
</TR>

<TR>
<TD COLSPAN="3"><CENTER><INPUT TYPE="SUBMIT" VALUE="CALCULATE"><INPUT TYPE="RESET" VALUE="RESET"></CENTER></TD>
</TR>
</TABLE>
</FORM>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin hiding script from older Browser


function validate()
{
// validate drop down list
if
(document.calc.pages.options[document.calc.pages.selectedIndex].value=="none")
{
alert("You must select the number of pages you want.")
document.calc.pages.focus()
return false;

}

if (logo_selection=="")
// validate myradiobuttons

myOption = -1;
for (i=0; i<document.calc.logo.length; i++)
{
if (document.calc.logo[i].checked)
{
myOption = i;
}
}
if (myOption == -1)
{
alert("You must select yes or no to a custom logo");
return false;
}



}


var pagePrice = 60

var logoPrice = 75

var domainPrice = 15

var yearHosting = 180


function calculate()
{


if(document.calc.pages.options[document.calc.pages.selectedIndex].value=="none")
validate()


var numberOfPages = document.calc.pages.value




pageTotal = numberOfPages * pagePrice


if(logo_selection=="yes")

pageTotal+= logoPrice


if(register_selection=="yes")

pageTotal+= domainPrice


if(hosting_selection=="yes")


pageTotal+= yearHosting

if(document.calc.pages.options[document.calc.pages.selectedIndex].value!="none")
alert("Your total estimate is: " +pageTotal)

}


//--> End hiding Script

</SCRIPT>

<NOSCRIPT>
Your browser does not support JavaScript or JavaScript has been disabled.
</NOSCRIPT>

<HR noshade COLOR="#FE0232">

<TABLE ALIGN="CENTER">
<TR>
<TD>
<font face="arial" size="1"><CENTER>Copyright &copy; B&D Webdesigns,
2003. All Rights Reserved.</CENTER></FONT>
</TD>
</TR>

<TR>
<TD><A HREF="frameset.html?Horde=4e01829728ea9e570471a3cf5b10a7d7">Home</A> | <A HREF="clients.html?Horde=4e01829728ea9e570471a3cf5b10a7d7">Clients</A> | <A HREF="rates.html?Horde=4e01829728ea9e570471a3cf5b10a7d7">Rates</A> | <A HREF="estimatecalculator.html?Horde=4e01829728ea9e570471a3cf5b10a

wildbill
11-13-2003, 07:32 PM
come on guys this is simple for alot of you. Please help.

wildbill
11-14-2003, 08:47 AM
you guys all suck. thanks for nothing