Form validation using JavaScript
<script type="text/javascript">formField="";</script>
<label for="Name">Business Name:</label>
<input type="text" name="Name" id="Name" size="30" tabindex="1" onblur="validatePresent(this, 'Status');" />
<span id="Status"> </span>
function validatePresent(valfield, // element to be validated
infofield ) // id of element to receive info/error msg
{
var stat = commonCheck (valfield, infofield, true);
msg (infofield, "warn", "OK");
return true;
}
function commonCheck (valfield, // element to be validated
infofield, // id of element to receive info/error msg
required) // true if required
{
if (formField && (formField.id != valfield.id)) {
setfocus(formField);
return false;
}
formField="";
if (!document.getElementById) return true; // not available on this browser - leave validation to server
var elem = document.getElementById(infofield);
if (!elem.firstChild) return true; // not available on this browser
if (elem.firstChild.nodeType != node_text) return true; // infofield is wrong type of node
if (emptyString.test(valfield.value)) {
if (required) {
msg (infofield, "error", "ERROR: Required Information");
formField=valfield;
setfocus(valfield);
return false;
}
else {
msg (infofield, "warn", ""); // OK
return true;
}
}
return proceed;
}
function msg(fld, // id of element to display message in
msgtype, // class to give element ("warn" or "error")
message) // string to display
{
var dispmessage;
if (emptyString.test(message))
dispmessage = String.fromCharCode(nbsp);
else
dispmessage = message;
var elem = document.getElementById(fld);
elem.firstChild.nodeValue = dispmessage;
elem.className = msgtype; // set the CSS class to adjust appearance of message
}
function setFocusDelayed() {
global_valfield.focus();
}
function setfocus(valfield) {
// save valfield in global variable so value retained when routine exits
global_valfield = valfield;
setTimeout( 'setFocusDelayed()', 100 );
}