det vil jeg nu ikke mene den burde gøre - al ASP'en eksekveres jo på serveren før der sendes et svar til klienten men dette svar når aldrig at komme da man serverside bruger en redirect.
du bliver i stedet nød til at lave fx et javascript der viser teksten "vent..." på form-siden når formen eksekveres
function anim(nr){ var bigDot = "nnnnnnnnnn",littleDot = "=========="; if(nr>10)nr=0 document.getElementById('loading').innerHTML = bigDot.substr(0,nr)+littleDot.substr(0,(10-nr)); setTimeout("anim("+(nr+1)+")",200); }
den bliver fyret af af denne valider function i submit: function valider(){ if(document.forms[0].fil.value){ if(pic.fileSize<=maxSize){ document.getElementById('frm').style.display = "none"; document.getElementById('loading').style.display = ""; anim(0); return true; }else{ alert("Filstørelsen overskrider "+(maxSize/1000)+"KB.\nGør billedet mindre og prøv igen."); return false; } }else{ return false; } }
der er ikke noget der skal lukkes nogen steder - når siden submittes med det jeg gav kode til så kommer teksten til syne og brugeren bliver ved med at være på formsiden indtil billedet er uploadet og du i dit upload-script bruger response.redirect.
Har du prøvet med det jeg skrev og evt kan komme med et link til det så man kan se hvad du måske mangler eller har gjort forkert?
Response.Buffer = false; Response.Expires = -1000; %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html> <head> <title>Upload Grafik</title> <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript"> var fil = false; var pic = new Image(); var maxSize=300000;// der skal være lidt størrelse på
function fileOC(){ pic.src = document.forms[0].fil.value; }
function valider(){ if(document.forms[0].fil.value){ if(pic.fileSize<=maxSize){ document.getElementById('frm').style.display = "none"; document.getElementById('loading').style.display = ""; anim(0); return true; }else{ alert("Filstørelsen overskrider "+(maxSize/1000)+"KB.\nGør billedet mindre og prøv igen."); return false; } }else{ return false; } }
<%@ Language=VBScript %> <%Option Explicit%> <!-- #include file="inc_upload.asp" --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html> <head> <title>Upload Grafik </title> <SCRIPT LANGUAGE="JScript" TYPE="text/javascript"> var fil = false; </SCRIPT> </head> <link href="tools.css" rel="stylesheet" type="text/css"> <body> <fieldset style="padding:5px"> <% Dim Uploader, File Set Uploader = New FileUploader
Uploader.Upload() If Uploader.Files.Count = 0 Then Response.Write "Fil ikke uploaded." Else For Each File In Uploader.Files.Items File.SaveToDisk Server.MapPath (Uploader.Form("PIC")) Response.Write "Fil uploaded: " & File.FileName & "<br>" Response.Write "Størrelse: " & File.FileSize & " bytes<br>" Response.Write "Type: " & File.ContentType & "<br><br>" Response.Write "<scrip"&"t>fil="""&File.FileName&""";</scrip"&"t>" Next End If %></fieldset> </body></html>
Synes godt om
Ny brugerNybegynder
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.