Forum Moderators: open
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
// Preload images
var empty = new Image(); empty.src = "fieldempty.gif";
var haveerrors = 0;
function showImage(imagename, imageurl, errors) {
document[imagename].src = imageurl;
if (!haveerrors && errors) haveerrors = errors;
}
function validateForm(f) {
haveerrors = 0;
(f.trms.checked != 1) // validate first name length
? showImage("termserror", "fieldempty.gif", true) // no semi-colon after this line!
: showImage("termserror", "blankimage.gif", false); // true = errors, false = no errors
return (!haveerrors);
}
// End -->
</script> <form method="post"action="somefile.pl"name="myform" onSubmit="return validateForm(this)"> <img name=termserror src="blankimage.gif" width=350 height=10 border=0>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Radios</title>
<script type="text/javascript">
function validateRadios (formObject) {
// Array of radios
var atLeastOne = false;
for (j=0;j<formObject.test.length;j++) {
if (formObject.test[j].checked) {
atLeastOne=true;
alert(formObject.test[j].id + ' is checked.');
}
}
if (! atLeastOne) {
alert('Make at least one selection.');
return false;
}
// Change to return true if no errors found.
return false;
}
</script>
</head>
<body>
<form method="post" action="whatever" onsubmit="return validateRadios(this);">
<p><input type="radio" name="test" id="test-1" value="1"> <label for="test-1">One</label></p>
<!-- Proper usage: at least one MUST load checked.
Most clients say no to this, but it's the way radios work
<input type="radio" name="test" id="test-1" value="1" checked>
or for XHTML
<input type="radio" name="test" id="test-1" value="1" checked="checked"/>
-->
<p><input type="radio" name="test" id="test-2" value="2"> <label for="test-2">Two</label></p>
<p><input type="radio" name="test" id="test-3" value="3"> <label for="test-3">Three</label></p>
<p><input type="submit" value="test"></p>
</form>
</body>
</html>