By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
459,256 Members | 1,700 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 459,256 IT Pros & Developers. It's quick & easy.

asp code only works once in a while

P: n/a
hi everyone,
I have an annoying problem of with asp.
Right now, when i type in data in textbox and hit submit, the text
entered stays displayed in the textbox, however if I type in new data,
it will not stay but revert to what was previously written in. BUT if I
keep trying (by typing in new data and hitting submit) eventually one
of the attempts will work (1 out of 20 tries the new data will remain
in the textbox, all other attempts it reverts to what was there prior)
Does anyone know what is wrong? I thought something was being cached
but i've added all the code i can think of to keep it from caching.
thanks if anyone knows!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"
/>
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="expires" content="0" />
</head>
<%
sub SaveData()
if Request("FirstName")<>"" then
set conn = server.createobject("adodb.connection")
conn.open("Provider=Microsoft.Jet.OLEDB.4.0;data source=" &
server.MapPath("target\Target1.mdb"))
SQLStmt = "SELECT count(*) as rv FROM tblPerson WHERE FirstName='" &
Request("FirstName") & "';"
vRecNo = ""
Set oRS = conn.execute(SQLStmt)
if oRS("RV")<>0 then
oRS.Close
Set oRS = Nothing
else
oRS.Close
Set oRS = Nothing
SQLStmt = " INSERT INTO tblPerson ("
SQLStmt = SQLStmt & "FirstName)"
SQLStmt = SQLStmt & "VALUES ('"
SQLStmt = SQLStmt & Request("FirstName") & "');"
conn.execute(SQLStmt)
SQLStmt = "SELECT RecNo FROM tblPerson WHERE FirstName='" &
Request("FirstName") & "';"
Set oRS = conn.execute(SQLStmt)
SQLStmt = ""
vRecNo = oRS("RecNo")
Session("aRecNo") = vRecNo
oRS.Close
Set oRS = Nothing
end if
end if
end sub
%>

<%
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = 0

if Session("aRecNo") <> "" then
set conn = server.createobject("adodb.connection")
conn.open("Provider=Microsoft.Jet.OLEDB.4.0;data source=" &
server.MapPath("target\Target1.mdb"))
SQLStmt = "SELECT * FROM tblPerson WHERE RecNo=" & Session("aRecNo")
Set oRS = conn.execute(SQLStmt)
if not oRS.eof then
vFirstName = oRS("FirstName")
end if
oRS.Close
Set oRS = Nothing
end if
%>
<body>
<form name="form1" method="post" onsubmit="<% call SaveData()%>"
Action="test1.asp" >
<input name="Submit" type="submit" value="Submit"
onclick="location.reload();" />
<textarea name="FirstName"><%=vFirstName%></textarea>
</form>

</body>
</html>

Jul 23 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
Lee
Isabel said:

hi everyone,
I have an annoying problem of with asp. <body>
<form name="form1" method="post" onsubmit="<% call SaveData()%>"
Action="test1.asp" >
<input name="Submit" type="submit" value="Submit"
onclick="location.reload();" />


I was about to redirect you to an ASP group, but I see that your problem does
happen to involve the only bit of Javascript code in the page.

You are telling the browser to reload the page at the same time that you're
telling it to submit the page. Expect unexpected results.

Onclick handlers on Submit buttons are almost always a bad idea, and this one is
particularly bad. Get rid of that onclick attribute. The browser knows what to
do when you click a Submit button.

Jul 23 '05 #2

P: n/a
wow!! u fixed it! I can't believe it! thank you thank thank you!
I worked all Christmas vacation on this!
I took out the onclick and then put the savedata function to run only
when request.form("firstname") was populated!

Thank you once again!!

Jul 23 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.