/    Sign up×
Community /Pin to ProfileBookmark

Javascript query help!!!

I am designing a form and have used javascript in it. Got most of it working but I am having problems with the radio buttons. In the browser if I don’t press male or female it does not come up with alert message. Also I can press both male and female and it does not come up with alert to only press one.
Really stuck on how to fix this, any suggestions..please.

<script language=”javascript” src=”strfunc.js” type=”text/javascript”></script>
<script language=”javaScript” type=”text/javascript”>
<!–
function fieldcheck(fld)
{
fld.valid = false;
switch (fld.name)
{
case “firstname”: /* Firstname */
var firstnameRegExp = /[^a-z ‘-]/i /* Firstname should consist of letters, space, hyphen and dash only */
var firstname2RegExp = /[a-z]/i /* Firstname field should contain at least 1 letter */
if (firstnameRegExp.test(fld.value) == false && firstname2RegExp.test(fld.value) == true)
{
fld.valid = true;
}
break;

case “lastname”: /* Lastname */
var lastnameRegExp = /[^a-z ‘-]/i /* Lastname should consist of letters, space, hyphen and dash only */
var lastname2RegExp = /[a-z]/i /* Lastname field should contain at least 1 letter */
if (lastnameRegExp.test(fld.value) == false && lastname2RegExp.test(fld.value) == true)
{
fld.valid = true;
}
break;

case “houseid”: /* House Name or Number */
var houseidRegExp = /[^a-z -‘0-9]/i /* House Name can consist of numbers, letters, hyphens or dashes */
var houseid2RegExp = /[a-z0-9]/i /* House Name field should contain at least 1 letter or number */
if (houseidRegExp.test(fld.value) == false && houseid2RegExp.test(fld.value) == true)
{
fld.valid = true;
}
break;

case “street”: /* Street */
var streetRegExp = /[^a-z -‘]/i /* Street should consist of letters, space, hyphen and dash only */
var street2RegExp = /[a-z]/i /* Street field should contain at least 1 letter */
if (streetRegExp.test(fld.value) == false && street2RegExp.test(fld.value) == true)
{
fld.valid = true;
}
break;

case “town”: /* Town */
var townRegExp = /[^a-z -‘]/i /* Town should consist of letters, space, hyphen and dash only */
var town2RegExp = /[a-z]/i /* Town field should contain at least 1 letter */
if (townRegExp.test(fld.value) == false && town2RegExp.test(fld.value) == true)
{
fld.valid = true;
}
break;

case “county”: /* County */
var countyRegExp = /[^a-z -‘]/i /* County should consist of letters, space, hyphen and dash only */
var county2RegExp = /[a-z]/i /* County field should contain at least 1 letter */
if (countyRegExp.test(fld.value) == false && county2RegExp.test(fld.value) == true)
{
fld.valid = true;
}
break;

case “postcode”: /* Postcode */
var postcodeRegExp = /[A-Z]d/ /* Postcode should consit of captial letters and digits only */
if (postcodeRegExp.test(fld.value) == true && fld.value.length < 9)
{
fld.valid = true;
}
break;

case “telephone”: /* Telephone */
var telephoneRegExp = /d{11}/ /* Telephone should be full UK number consisting of 11 digits starting with a 0 */
if (telephoneRegExp.test(fld.value) == true && fld.value.charAt(0) == 0)
{
fld.valid = true;
}
break;

case “email”: /* Email address */
var emailRegExp = /[@]/ /* Email should contain @ symbol */
var email2RegExp = /[.]/ /* Email should contain . symbol */
var email3RegExp = /[ ]/ /* Email must not contain spaces */
var email4RegExp = /[a-z]/i /* Email should contain at least 1 letter */
if (emailRegExp.test(fld.value) == true && email2RegExp.test(fld.value) == true &&
email3RegExp.test(fld.value) == false && email4RegExp.test(fld.value) == true)
{
fld.valid = true;
}
break;

case “radio_hidden”:
if (fld.value != “1”)/* radio male or female button should be checked*/
{
fld.valid = true;
}
break;

case “age”: /* age */
if (fld.value !=”” && fld.value >= 10 && fld.value <= 103) /* field must not be empty and contain number 10 to 103 */
{
fld.valid = true;
}
break;
}

}

function validate(frm)
{
for (i = 0; i < frm.length – 1; i++)
{
fieldcheck(frm.elements[i])
}
}

function runreport(frm)
{

var report_textheader = “=nn”+”Data Entry Validation Report—-nn”
var report_text = “”

if (frm.firstname.valid == false)
{
report_text += ” The Firstname field is required. Be sure you entered only letter characters.n”+”(Hyphens and apostrophes are OK.)nn”
}
if (frm.lastname.valid == false)
{
report_text += ” The Lastname field is required. Be sure you entered only letter characters.n”+”(Hyphens and apostrophes are OK.)nn”
}
if (frm.houseid.valid == false)
{
report_text += ” The House Name / Number field is required. Be sure you entered only letter numbers and/or characters.n”+” (Hyphens and apostrophes are OK.)nn”
}
if (frm.street.valid == false)
{
report_text += ” The Street field is required. Be sure you entered only letter characters.n”+”(Hyphens and apostrophes are OK.)nn”
}
if (frm.town.valid == false)
{
report_text += ” The Town field is required. Be sure you entered only letter characters.n”+”(Hyphens and apostrophes are OK.)nn”
}
if (frm.county.valid == false)
{
report_text += ” The County field is required. Be sure you entered only letter characters.n”+”(Hyphens and apostrophes are OK.)nn”
}
if (frm.postcode.valid == false)
{
report_text += ” The Postcode field is required. You must enter a UK formatted postcode.nn”
}
if (frm.telephone.valid == false)
{
report_text += ” The Telephone field is required. Be sure you enter complete UK telephone number including 0.nn”
}
if (frm.email.valid == false)
{
report_text += ” The Email field is required. Be sure you enter a valid email address. nn”
}
if (frm.radio_hidden.valid == false)
{
report_text += ” You must click a radio button male or female.nn”
}
if (frm.age.valid == false)
{
report_text += ” Please tell us your age. You must enter a value between 10 and 103.nn”
}

var report_footer = “============================================”

if (report_text == “”)
{
report_text += “All your entries are correct.nn”
alert(report_textheader + report_text + report_footer)
return true;
}
else
{
alert(report_textheader + report_text + report_footer)
return false;
}
}
//–>
</script>

</head>

<body bgcolor=”white” text =#0099FF>

<form action=”mailto:[email protected]
method=”post”
name=”myform” onsubmit=”validate(this); return runreport(this);”>

Firstname:
<input type=”text” name=”firstname” size=”30″onblur=”trim(this);”><br>
<br>
Lastname:
<input type=”text” name=”lastname” size=”30″onblur=”trim(this);”><br>
<br>
House Name / Number:
<input type=”text” name=”houseid” size=”25″onblur=”trim(this);”><br>
<br>
Street:
<input type=”text” name=”street” size=”30″onblur=”trim(this);”><br>
<br>
Town:
<input type=”text” name=”town” size=”30″onblur=”trim(this);”><br>
<br>
County:
<input type=”text” name=”county” size=”30″onblur=”trim(this);”><br>
<br>
Postcode:
<input type=”text” name=”postcode” size=”30″onblur=”trim(this);ucit(this);”><br>
<br>
Telephone:
<input type=”text” name=”telephone” size=”35″onblur=”trim(this);”><br>
<br>
Email:
<input type=”text” name=”email” size=”50″onblur=”trim(this);lcit(this);”><br>

<br><u>Select Your gender:</u><br>

<input type=”radio” name=”male” value=”” onchange=”radio_hidden.value = 1;”> Male

<br>
<input type=”radio” name=”female” value=”” onchange=”radio_hidden.value = 1;”> Female
<br>
<input name=”radio_hidden” value=”” type=”hidden”>
<br>
What is your age: <input name=”age” size=”4″ maxlength=”3″ type=”text”> yrs<br>

<br><input type=”submit” name=”submit” value=”Submit Form”>
<input type=”reset” name=”reset” value=”Reset Form”>

</form>

</body>
</html>
:eek::eek::eek::eek:

to post a comment
JavaScript

0Be the first to comment 😎

×

Success!

Help @tilly01 spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 6.14,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @nearjob,
tipped: article
amount: 1000 SATS,

tipper: @meenaratha,
tipped: article
amount: 1000 SATS,

tipper: @meenaratha,
tipped: article
amount: 1000 SATS,
)...