Avatar billede sunero Nybegynder
19. december 2005 - 16:53 Der er 10 kommentarer og
1 løsning

please wait skærm under databaseopslag

Hejsa

Jeg har et par sider som ca. ser således ud :

form.asp -> sql.asp -> result.asp

Form.asp
  <html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <title>Untitled Document</title>
  <body>
  <form name="form1" method="post" action="sql.asp">
  <input type="submit" name="Submit" value="Submit">
  </form>
  </body>
  </html>

sql.asp
  <%
  while i < 2000000
  i = i + 1
  wend
  response.Redirect("resultat.asp")
  %>

resultat.asp
  <html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <title>Untitled Document</title>
  </head>
  <body>
  DONE
  </body>
  </html>

Jeg kunne godt tænke mig et layer e.lign, som fortæller at søgningen er igang. Det sker nemlig at folk bliver utålmodige og submit'er løs.

Er der nogen der ved hvordan dette gøres?
Avatar billede wilweb Nybegynder
19. december 2005 - 18:08 #1
sql.asp
  <%
  while i < 2000000
  i = i + 1
  response.write("Der hentes data, vent venligst....")
  wend
  response.Redirect("resultat.asp")
  %>
Avatar billede wilweb Nybegynder
19. december 2005 - 18:09 #2
sql.asp
  <%
response.write("Der hentes data, vent venligst....")
  while i < 2000000
  i = i + 1
  wend
  response.Redirect("resultat.asp")
  %>
Avatar billede fennec Nybegynder
20. december 2005 - 08:52 #3
Der skal lige en flush ind også, så man er sikker på at serveren sender informationerne:
response.write "Vent venligst..."
response.flush
while i < 2000000
  i = i + 1
wend

Du kan endag bruge den inden i loopet til at udskrive resultaterne så de popper op hen af vejen:

Response.write "Start"
response.flush
while i < 2000000
  i = i + 1
  if i mod 10000 = 0 then
      Response.write i &"<br>"
    response.flush
  end if
wend
Response.write "færdig"

ps. Man kan ikke bruge response.Redirect() lige så snart informationerne er sendt til klienten, så har du en flush på siden og bruger Redirect() får du en "Header Error".
Avatar billede sunero Nybegynder
20. december 2005 - 09:39 #4
Jeg vil enten gerne have en blank skærm med en 'vent venligst tekst' eller en layerpopup med samme tekst.
Avatar billede fennec Nybegynder
20. december 2005 - 10:00 #5
Du kan gøre noget i denne stil:

<body onLoad="document.getElementById('ventDiv').display='none'">
<div id="ventDiv">Vent venligst...</div>
<%
response.flush
set rs = conn.execute("select * from din tabel")
while not rs.eof
  ...
  ...
  rs.MoveNext
wend
%>
Avatar billede sunero Nybegynder
20. december 2005 - 11:29 #6
Jeg har fundet løsningen :

<script type="text/javascript">
function wait(elem) {
  document.getElementById("ShowWait").style.visibility = "visible";
  var i,tags=document.getElementById('SubmitAll').elements; 
  //var i,tags=document.forms[0].elements;
  for (i=0; i<tags.length; i++) {
    tags[i].disabled=true;
  }
  document.getElementById('SubmitAll').submit();
}

function hide() {
document.getElementById("ShowWait").style.visibility = "hidden";
}
window.onload = hide;
</script>

Men jeg får fejlen "Et objekt er obligatorisk" på linien :

document.getElementById("ShowWait").style.visibility = "visible";

Hvad gør jeg galt ?
Avatar billede fennec Nybegynder
20. december 2005 - 11:35 #7
Du har sikkert ikke et "ShowWait" element:
<div id="ShowWait">Vent venligst...</div>
Avatar billede saudoo Nybegynder
20. december 2005 - 21:45 #8
Prøv at tjek din ASP-kode, det behøver ikke være her fejlen ligger.

Iøvrigt så siger ASP jo ikke noget om fejl i hverken HTML, CSS, eller Javascript. ;)

Hvis der er en fejl længere oppe, kan den godt have svært ved at finde ud af hvornår, hvis der f. eks. er en End If på den anden side. :)
Avatar billede wilweb Nybegynder
17. januar 2006 - 09:16 #9
Skal du ikke lukke
Avatar billede sunero Nybegynder
17. januar 2006 - 09:19 #10
Jeg løste jo selv problemet, men hvis du (fennec) vil have point for at lede mig på vej, må du lige lægge et svar.
Avatar billede fennec Nybegynder
17. januar 2006 - 09:24 #11
Det behøves ikke.
.o) <-- One Eyed Jack
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester