Har en sida med följande upplägg:<code><% IF Request("action")="" THEN %> Du behöver inte använda Response.ReDirect. Placera databas koden ovanför formulär koden. Här är ett exempel:innan Response.Redirect...
<html>
<head>
<title>Min sida</title>
</head>
<body>
<% IF Request("step")="" THEN %>
<FORM action="?action=update1">
... MASSA FORMULÄRFÄLT ...
<INPUT type="submit" value="uppdatera">
</FORM>
<% END IF %>
<% IF Request("step")="2" THEN %>
<FORM action="?action=update2">
... ÄNNU FLER FORMULÄRFÄLT ...
<INPUT type="submit" value="uppdatera">
</FORM>
<% END IF %>
OSV. OSV.
</body>
</html>
<%
ELSE
IF Request("action")="update1" THEN
' Här görs en massa db-funktioner...
' kan ibland ta en liten stund...
Response.Redirect("?step=2")
END IF
IF Request("action")="update2" THEN
' Här görs en massa andra db-funktioner...
' kan ibland även de ta en liten stund...
Response.Redirect("?step=3")
END IF
'etc. etc.
END IF
%></code>
Eftersom vissa databasfunktioner kan ta lite tid så vill jag att en klassisk"VÄNTA..." bild ska visas medan dessa utförs. Denna bild/text ska (helst) visas i den ursprungliga designen (själva HTML-delen av sidan) från det att man klickar på submit-knappen till dess att redirecten körs.
Har testat fram och tbax med response.flush etc. men inte fått det att fungera.
Någon som kan komma med lite handfast hjälp?
Exempelkod (utifrån mitt exempel ovan) mottages tacksamt!Sv: innan Response.Redirect...
<code><%@ Language=VBScript %><%
Option Explicit
Response.Buffer = True
%>
<HTML>
<HEAD>
<TITLE>Indikator test</TITLE>
</HEAD>
<BODY>
<DIV id="ProgressText">
</DIV>
<%
Select Case Request("action")
Case "update1"
Response.Write "<SCRIPT type=""text/javascript"">ProgressText.innerText=""Databasen arbetar"";</SCRIPT>" & vbCrLf
Response.Flush
' Här görs en massa db-funktioner...
' kan ibland ta en liten stund...
Response.Write "<SCRIPT type=""text/javascript"">ProgressText.innerText="""";</SCRIPT>" & vbCrLf
Response.Flush
%>
<FORM action="?action=update2">
... MASSA FORMULÄRFÄLT ...
<INPUT type="submit" value="uppdatera">
</FORM>
<%
Case "update2"
Response.Write "<SCRIPT type=""text/javascript"">ProgressText.innerText=""Databasen arbetar"";</SCRIPT>" & vbCrLf
Response.Flush
' Här görs en massa db-funktioner...
' kan ibland ta en liten stund...
Response.Write "<SCRIPT type=""text/javascript"">ProgressText.innerText="""";</SCRIPT>" & vbCrLf
Response.Flush
%>
<FORM action="?action=update3">
... MASSA FORMULÄRFÄLT ...
<INPUT type="submit" value="uppdatera">
</FORM>
<%
Case "update3"
Response.Write "<SCRIPT type=""text/javascript"">ProgressText.innerText=""Databasen arbetar"";</SCRIPT>" & vbCrLf
Response.Flush
' Här görs en massa db-funktioner...
' kan ibland ta en liten stund...
Response.Write "<SCRIPT type=""text/javascript"">ProgressText.innerText="""";</SCRIPT>" & vbCrLf
Response.Flush
%>
<H3>Tack för att du registrerade dig</H3>
<%
Case Else
%>
<FORM action="?action=update1">
... MASSA FORMULÄRFÄLT ...
<INPUT type="submit" value="uppdatera">
</FORM>
<%
End Select
'etc. etc.
%>
</body>
</html>
</code>
Du kan istället skapa en div som positionerar sig mitt på skärmen och visar en asnimerad gif. Visa den och gömma den med javascript på samma sätt som i detta exemplet.