Please find the pasted html,
<html>
<script language="JavaScript" src="cal.js"></script><!-- Date only with
year scrolling -->
</head>
<BODY onLoad="showDetails()">
<script language="javascript">
function validatePage(){
return true;
}
function updateDetails(){
var basicStaffNoCheck=false;
basicStaffNoCheck=basicStaffValidation();
if(basicStaffNoCheck)
{
var canSub = false;
if(validatePage()){
with(document.forms[0]){
if(hidDataChnged.value!='1')
alert("No records updated. Please update atleast one record and
click OK");
else{
document.forms[0].btnSubmit.disabled=true;
hidActionId.value="OK";
submit();
}
}
}
}
}
function showDetails(){
document.getElementById("StaffNumber").focus();
}
function displayError()
{
alert("displayError");
if(document.getElementById('StaffNumber').value == "")
{
alert("Please enter Staff Number");
document.getElementById('StaffNumber').focus();
}
if(document.getElementById('StaffNumber').value != "")
{
flag=validateStaffNo();
alert("returning from validateStaffNo "+flag);
if(flag)
{
document.forms[0].submit();
}
else
{
alert("Ïnside else");
return;
}
}
}
function validateStaffNo(){
var val = document.getElementById('StaffNumber').value;
var patternBasic = new RegExp("^[0-9]{6}"); //matches alphanumeric
atleast 6 characters
var result = patternBasic.test(val);
if(!result)
{
alert("Alert 1 Please Enter a valid Staff Number.Please enter leading
zeroes if applicable.");
document.getElementById('StaffNumber').focus();
return false;
}
else
return true;
}
function KeyDownHandler(Btn)
{
if (event.keyCode == 13)
{
Btn.click();
}
}
</script>
<FORM name="frmInvoice" method="post" onsubmit="alert('Why does it
submit');">
<input type="hidden" name="hidActionId">
<!-- input type="hidden" name="hidPassId" -->
<input type="hidden" name="hidPassIdVal">
<br>
<TABLE width="80%" summary="" border="0" cellspacing="0"
cellpadding="0">
<TR>
<TD align="right" nowrap>
</TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD width="30%" height="3"></TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD align="right" nowrap><span class="OraPromptText"><LABEL>Staff
Number </LABEL></SPAN>
</TD>
<TD ><input id="StaffNumber" class="OraFieldText" onchange=""
name="StaffNumber" size="10" type="text" maxlength="6"
onKeyDown="KeyDownHandler(DisplayDetails);">
</TD>
<TD width="15%"><input type="button" id="DisplayDetails"
name="DisplayDetails" value="Display Personal Details"
onClick="displayError();">
</TD>
</TR>
</TABLE>
</form>
</body>
</html>
Staff No is validated to be exactly 6 digits numeric.
On click of the "display personal details" button with the mouse,The
page behaves fine.But on hit of ENTER...after entering some three or
four digits in the staff No text box.Its validating and giving the
error message" Alert 1 Please Enter a valid Staff Number.Please enter
leading zeroes if applicable." Then form submits.On submit alert is
fired.
I dont want the submit to happen when the client validation
fails.Strangely the submit does not happen on click of the button using
mouse.Çan anybody help me please.