Can anyone spot what I’m doing wrong in the following code.
Works fine in FF without any errors. ?
Does not work in MSIE, and does give any hint of errors either. ?
[code]
<html>
<head>
<title>Form Validation</title>
<script type=”text/javascript”>
// See: http://www.webdeveloper.com/forum/showthread.php?t=199694&highlight=validate+form
// and: http://fundamentaldisaster.blogspot.com/2007/10/javascript-dom-and-humble-form.html
function isRBtnChecked(radio_set) {
var sel = document.getElementsByName(radio_set);
var fnd = -1;
var str = ”;
for (var i=0; i<sel.length; i++) {
if (sel[i].checked == true) { str = sel[i].value; fnd = i; }
}
// return fnd; // return option index of selection
// comment out next line if option index used in line above
return str;
}
function isEmpty(strfield) {
var flag = false;
if (strfield == “” || strfield == null || strfield.charAt(0) == ‘ ‘) { flag = true; }
return flag;
}
function formCheck() {
var forms = document.getElementById(‘my_form’); // doesn’t work in MSIE
// var forms = document.forms[0]; // No better in MSIE
var ErrMsg = []; // alert(‘ErrMsg initial size: ‘+ErrMsg.length);
var flag = true;
if (isRBtnChecked(‘level’) == “”) { ErrMsg.push(‘Please enter “Title”‘); }
if (isEmpty(forms.elements[“firstname”].value)) { ErrMsg.push(“Please enter first name”); }
if (isEmpty(forms.elements[“lastname”].value)) { ErrMsg.push(“Please enter last name”); }
if (isEmpty(forms.elements[“email”].value)) { ErrMsg.push(“Please enter e-mail address”); }
if (isEmpty(forms.elements[“employ”].value)) { ErrMsg.push(“Please enter assignment”); }
if (ErrMsg.length > 0) { alert(ErrMsg.join(‘n’)); flag = false; }
return flag;
}
function Success() {
var str = ‘Action was a successn’;
str +=’n’+isRBtnChecked(‘level’);
str +=’: ‘+document.MyForm.elements[‘firstname’].value;
str +=’ ‘+document.MyForm.elements[‘lastname’].value;
str +=’n’+document.MyForm.elements[’email’].value;
str +=’n’+document.MyForm.elements[’employ’].value;
alert(str);
}
</script>
</head>
<body>
<!– action in form below to be replaced by valid program address –>
<form name=”MyForm” id=”my_form” method=”post” action=”javascript:Success()” onsubmit=”return formCheck()”>
<table border=”0″>
<tr><td align=”right”>
Title:
</td><td>
<input type=”radio” name=”level” value=”Instructor” /> Instructor
<input type=”radio” name=”level” value=”Assistant” /> Assistant
<input type=”radio” name=”level” value=”Associate” /> Associate
<input type=”radio” name=”level” value=”Professor” /> Professor<br />
</td></tr>
<tr><td align=”right”>
Name:
</td><td>
First: <input type=”text” name=”firstname”>
Initial: <input type=”text” name=”middleinitial” size=”1″ maxlength=”1″>
Last: <input type=”text” name=”lastname”>
</td></tr>
<tr><td align=”right”>
E-mail Address:
</td><td>
<input type=”text” name=”email” size=”40″ value=”[email protected]”>
</td></tr>
<tr><td align=”right”>
Assignment:
</td><td>
<select name=”employ”>
<option value=””>- Select -</option>
<option value=”PT”>Part-time</option>
<option value=”AD”>Adjunct</option>
<option value=”FT”>Full-time</option>
</select>
</td></tr>
<tr><td> </td><td><button>Submit</button> <!– for testing purposes –></td></tr>
</table>
</form>
</body>
</html>