webForumDet fria alternativet

timerfunktion med text

2 svar · 272 visningar · startad av saw

sawMedlem sedan mars 20011 883 inlägg
#1

Vad jag försöker med är, när en epost har skickats via ett ASP-interface
så skall det vara en viss fördröjning ca 5 sek, då en text skall visas, därefter
en redirect till en spesiell sida.
Så här försöker jag.

Sub TLdelaySec(DelaySeconds,sText)
response.write sText
  SecCount = 0
  Sec2 = 0
  While SecCount < DelaySeconds + 1
    Sec1 = Second(Time())
    If Sec1 <> Sec2 Then
      Sec2 = Second(Time())
      SecCount = SecCount + 1
    End If
  Wend
End Sub
'sen i själva koden
<% Response.buffer = True %>
'en massa kod
if not msg.Send("smtp.dpgruppen.se" ) 
Response.write "<pre>" & msg.log & "</pre>"
else
response.Flush

CALL TLdelaySec(5,"<P><BR><P><CENTER>Tack, nu skickas eposten till "
 & request("Avdelning") & "</CENTER>")
response.redirect "main.asp"
end if

Och jag får naturligtvis ett error(likt mig)

Response object error 'ASP 0156 : 80004005' 
Header Error 
/DP_filer/Kontakt.ASP, line 49 
The HTTP headers are already written to the client browser. Any HTTP 
header modifications must be made before writing page content.

Finns det något sätt att komma förbi detta?
Jag vet att om jag tar bort "response.Flush", då har jag inga error, men ingen
text. Låter jag den står där, så får jag text, men på köpet ett error.
Snack om åsnan mellan två höstackar... :q

@ndersMedlem sedan juni 200026 914 inlägg
#2

Den enda lösningen är att göra detta på klienten, antingen med ett javascript (lämpligt sökord i javascriptforumet: setTimeout), eller med en meta-tagg i HTML.

Mvh

sawMedlem sedan mars 20011 883 inlägg
#3

Jo du hadde så rätt, en META tag var vad som behövdes.

129 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
125 ms — hämta tråd, inlägg och bilagor (db)