GoldPearl
Programmer
- Aug 9, 2005
- 64
i have a form with controls in it which i validated using Javascript. when i enter erroeous data, it displays the error message but also submit the form with the erroneous data. i want it to display an error msg like "please enter correct data" instead.
code for form is as follows:
<script language="javascript">
function checkWholeForm()
{
var add = "";
add += textonly();
add += checkDropdown();
return true;
}
//function to check alphabetic (Department name)
function textonly()
{
var checkOK="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var checkstr;
var allValid=true;
var allNum= ""
if (frmdeptsmaint.txtdeptname.value == "")
{
alert("Compulsory Field. Department Name cannot be blank.");
frmdeptsmaint.txtdeptname.focus( );
return false;
}
else
{
checkstr=frmdeptsmaint.txtdeptname.value;
for(i=0; i<checkstr.length;i++)
{
ch= checkstr.charAt(i);
for(j = 0;j<checkOK.length;j++)
if( ch== checkOK.charAt(j))
break;
if (j ==checkOK.length)
{
allValid = false
break;
}
if(ch!=",")
allNum+=ch;
}
if (!allValid)
{
alert("Please specify a correct Department Name.");
frmdeptsmaint.txtdeptname.select();
valid=false;
}
}
return true;
}
function checkDropdown()
{
if (frmdeptsmaint.lstpos.value == 0)
{
alert ("You didn't choose an option from the drop-down list.");
}
return false;
}
</SCRIPT>
</head>
<body bgcolor="#525C6D" text="#FFFFFF" link="#FFFFFF" vlink="#66FFFF" alink="#66FFFF">
<p align="right"><font color="#FFFFFF" face="Arial"><strong><img src="images/home.gif" width="24" height="24">
<font size="2"><a href="role.asp">Home </a></font></strong></font><img src="images/logout.ico" width="24" height="24"><a href="logout.asp"><font size="2" face="Arial">Logout</font></a></p>
<p align="left"><font size="2" face="Arial">Welcome <%=userid1%> </font></p>
<p>
<%
If request("error")="1" Then
Response.Redirect "dupadddept.asp"
Else If request("success")="1" then
response.Redirect "adddeptok.asp"
End If
End If
%>
</p>
<div align="center">
<p><strong><font face="Arial"> Department Maintenance</font></strong></p>
<form name="frmdeptsmaint" method="post" action="dept.asp">
<div align="center">
<table width="33%" border="2" cellspacing="20" bordercolor="#FFFFFF" bgcolor="#CCCCCC">
<tr>
<td bordercolor="#CCCCCC"><font color="#000000" size="2" face="Arial">Department
ID: </font></td>
<td bordercolor="#CCCCCC"><font color="#000000" size="2" face="Arial">
<input name="txtdeptid" type="text" id="txtdeptid" size="20" value='<%=id%>'>
</font></td>
</tr>
<tr>
<td bordercolor="#CCCCCC"><font color="#000000" size="2" face="Arial">Department
Name: </font></td>
<td bordercolor="#CCCCCC"><font color="#000000" size="2" face="Arial">
<input name="txtdeptname" type="text" id="txtdeptname" size="20">
</font></td>
</tr>
<tr>
<td bordercolor="#CCCCCC"><font color="#000000" size="2" face="Arial">Position: </font></td>
<td bordercolor="#CCCCCC"><font color="#000000" size="2" face="Arial">
<select name="lstpos" size="1" id="lstpos">
<option selected>Select a Position</option>
<%
do while not rspos.eof
%>
<option><%=rspos(0)%></option>
<%
rspos.movenext
loop
rspos.close
set rspos = nothing
cn.close
set cn = nothing
%>
</select>
</font></td>
</tr>
</table>
<p><font size="2" face="Arial">
<input name="btnadd" type="submit" id="btnadd" value="Add" onclick="checkWholeForm()">
<input name="btnview" type="submit" id="btnview" value="View">
</font></p>
</div>
</form>
code for ADD button:
Sub AddDept
dim rs
dim cn
dim sql
dim duplicate
dim namedept
dim iddept
namedept=request.Form("txtdeptname")
iddept=request.Form("txtdeptid")
duplicate=false
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open(Conn)
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open "department",cn,2,3
Do While Not (rs.eof OR duplicate)
If (StrComp(rs("deptName"),namedept,vbTextCompare)=0) OR (StrComp(rs("deptid"),iddept,vbTextCompare)=0)Then
duplicate=true
response.Redirect "deptsmaint.asp?error=1"
End If
rs.moveNext
Loop
If(duplicate = false) then
sql="INSERT INTO department (deptId, deptName, positionId) VALUES " & _
"( '" & Request.Form("txtdeptid") & "' , '" & Request.Form("txtdeptname") & "' ,'"& Request.Form("lstpos") & "' )"
cn.execute(sql)
Response.redirect "adddeptok.asp?success=1"
cn.close
set rs=nothing
set cn=nothing
End If
End Sub
Thks for helping me out urgently.
Gold pearl
code for form is as follows:
<script language="javascript">
function checkWholeForm()
{
var add = "";
add += textonly();
add += checkDropdown();
return true;
}
//function to check alphabetic (Department name)
function textonly()
{
var checkOK="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var checkstr;
var allValid=true;
var allNum= ""
if (frmdeptsmaint.txtdeptname.value == "")
{
alert("Compulsory Field. Department Name cannot be blank.");
frmdeptsmaint.txtdeptname.focus( );
return false;
}
else
{
checkstr=frmdeptsmaint.txtdeptname.value;
for(i=0; i<checkstr.length;i++)
{
ch= checkstr.charAt(i);
for(j = 0;j<checkOK.length;j++)
if( ch== checkOK.charAt(j))
break;
if (j ==checkOK.length)
{
allValid = false
break;
}
if(ch!=",")
allNum+=ch;
}
if (!allValid)
{
alert("Please specify a correct Department Name.");
frmdeptsmaint.txtdeptname.select();
valid=false;
}
}
return true;
}
function checkDropdown()
{
if (frmdeptsmaint.lstpos.value == 0)
{
alert ("You didn't choose an option from the drop-down list.");
}
return false;
}
</SCRIPT>
</head>
<body bgcolor="#525C6D" text="#FFFFFF" link="#FFFFFF" vlink="#66FFFF" alink="#66FFFF">
<p align="right"><font color="#FFFFFF" face="Arial"><strong><img src="images/home.gif" width="24" height="24">
<font size="2"><a href="role.asp">Home </a></font></strong></font><img src="images/logout.ico" width="24" height="24"><a href="logout.asp"><font size="2" face="Arial">Logout</font></a></p>
<p align="left"><font size="2" face="Arial">Welcome <%=userid1%> </font></p>
<p>
<%
If request("error")="1" Then
Response.Redirect "dupadddept.asp"
Else If request("success")="1" then
response.Redirect "adddeptok.asp"
End If
End If
%>
</p>
<div align="center">
<p><strong><font face="Arial"> Department Maintenance</font></strong></p>
<form name="frmdeptsmaint" method="post" action="dept.asp">
<div align="center">
<table width="33%" border="2" cellspacing="20" bordercolor="#FFFFFF" bgcolor="#CCCCCC">
<tr>
<td bordercolor="#CCCCCC"><font color="#000000" size="2" face="Arial">Department
ID: </font></td>
<td bordercolor="#CCCCCC"><font color="#000000" size="2" face="Arial">
<input name="txtdeptid" type="text" id="txtdeptid" size="20" value='<%=id%>'>
</font></td>
</tr>
<tr>
<td bordercolor="#CCCCCC"><font color="#000000" size="2" face="Arial">Department
Name: </font></td>
<td bordercolor="#CCCCCC"><font color="#000000" size="2" face="Arial">
<input name="txtdeptname" type="text" id="txtdeptname" size="20">
</font></td>
</tr>
<tr>
<td bordercolor="#CCCCCC"><font color="#000000" size="2" face="Arial">Position: </font></td>
<td bordercolor="#CCCCCC"><font color="#000000" size="2" face="Arial">
<select name="lstpos" size="1" id="lstpos">
<option selected>Select a Position</option>
<%
do while not rspos.eof
%>
<option><%=rspos(0)%></option>
<%
rspos.movenext
loop
rspos.close
set rspos = nothing
cn.close
set cn = nothing
%>
</select>
</font></td>
</tr>
</table>
<p><font size="2" face="Arial">
<input name="btnadd" type="submit" id="btnadd" value="Add" onclick="checkWholeForm()">
<input name="btnview" type="submit" id="btnview" value="View">
</font></p>
</div>
</form>
code for ADD button:
Sub AddDept
dim rs
dim cn
dim sql
dim duplicate
dim namedept
dim iddept
namedept=request.Form("txtdeptname")
iddept=request.Form("txtdeptid")
duplicate=false
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open(Conn)
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open "department",cn,2,3
Do While Not (rs.eof OR duplicate)
If (StrComp(rs("deptName"),namedept,vbTextCompare)=0) OR (StrComp(rs("deptid"),iddept,vbTextCompare)=0)Then
duplicate=true
response.Redirect "deptsmaint.asp?error=1"
End If
rs.moveNext
Loop
If(duplicate = false) then
sql="INSERT INTO department (deptId, deptName, positionId) VALUES " & _
"( '" & Request.Form("txtdeptid") & "' , '" & Request.Form("txtdeptname") & "' ,'"& Request.Form("lstpos") & "' )"
cn.execute(sql)
Response.redirect "adddeptok.asp?success=1"
cn.close
set rs=nothing
set cn=nothing
End If
End Sub
Thks for helping me out urgently.
Gold pearl