Avatar billede hanne-rk Nybegynder
19. december 2004 - 15:54 Der er 15 kommentarer og
1 løsning

vent tekst mens billedet uploades

hvorfor virker det ikke?

Hvad skal der gøres for at det virker.

(teksten "vent et øjblik" kommer aldrig frem)
-------------------------------------------
<%
If request("kode") = "upload" then

response.write "Vent et øjeblik ..."

    Set Upload = Server.CreateObject("Persits.Upload.1")
    Upload.OverwriteFiles = False
    Upload.SetMaxSize 2048576
    Upload.Save server.mappath("/images/")

response.redirect("picmenu.asp")
end if
%>
Avatar billede baitianlong Nybegynder
19. december 2004 - 16:17 #1
Det burde den ellers. Gør den resten (uploader osv.) ?

Eller er du et sjovt sted i html'en, hvor man ikke kan skrive noget (f.eks mellem <tr> og <td> i en tabel) ?
Avatar billede keysersoze Ekspert
19. december 2004 - 16:20 #2
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
Avatar billede baitianlong Nybegynder
19. december 2004 - 16:25 #3
Nårh ja, det har du jo ret i, keysersoze. Beklager fejlen :)
Avatar billede hnteknik Novice
19. december 2004 - 18:25 #4
Yep - du skal lave en animation, når du submitter formen til dig selv. Den kører så indtil der sker et respons.flush fra serveren.
Avatar billede hanne-rk Nybegynder
19. december 2004 - 22:56 #5
kan du give et eks. på det?
Avatar billede keysersoze Ekspert
19. december 2004 - 23:06 #6
jeg plejer bare at lave et invisible span

<span style="visibility: hidden;" id="vent">vent...</span>

som jeg så gør synligt ved submit

document.getElementById("vent").style.visibility = 'visible';
Avatar billede tjaz Nybegynder
19. december 2004 - 23:10 #7
lækkert... ;)
Avatar billede hanne-rk Nybegynder
19. december 2004 - 23:21 #8
dvs ?

<%
If request("kode") = "upload" then

    Set Upload = Server.CreateObject("Persits.Upload.1")
    Upload.OverwriteFiles = False
    Upload.SetMaxSize 2048576
    Upload.Save server.mappath("/images/")
%>
<span style="visibility: hidden;" id="vent">vent...</span>
<%
response.redirect("picmenu.asp")
end if
%>

----

Men hvordan skal den startes op med form submit?
<form method="POST" action="picmenu.asp?kode=upload" enctype="multipart/form-data">

formfelter

<input type="submit" value="Upload" onClick="window.location='picbody.asp'" name="upload">
Avatar billede keysersoze Ekspert
19. december 2004 - 23:30 #9
nej nej - det skal gøres på samme side som hvor formen er og ikke hvor uploaden sker.
Avatar billede hanne-rk Nybegynder
19. december 2004 - 23:35 #10
ok...jeg planter

<span style="visibility: hidden;" id="vent">vent...</span>

i toppen af formular siden, men hvor skal jeg indsætte :

document.getElementById("vent").style.visibility = 'visible';

????????????????????
Avatar billede keysersoze Ekspert
19. december 2004 - 23:56 #11
du ændrer din form til

<form method="POST" action="picmenu.asp?kode=upload" enctype="multipart/form-data" onsubmit="return vent(this);">

og indsætter dette javascript

<script type="text/javascript">
  function vent(thisform){
    document.getElementById('vent').style.visibility = 'visible';
  }
</script>

foruden at du selvfølgelig indsætter span'en der hvor du vil have teksten til at blive vist.
Avatar billede hnteknik Novice
20. december 2004 - 08:07 #12
JEG PLEJER AT BRUGE DENNE TÆVELÆKRE function:

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;
    }
}
Avatar billede hanne-rk Nybegynder
20. december 2004 - 15:24 #13
ok - jeg har lige forhøjet til 200 point, da jeg nu bliver krævende :-)

Kan du ikke lave mig et eksempel med 2 komplette funktionsdygtige sider.

side 1 = en simpel formular der illusterer hvad der skal være i den.
side 2 = den side der modtager, uploader og lukker "vent" skiltet.

pleeaaaaze help me - jer er helt lost :-(
Avatar billede keysersoze Ekspert
20. december 2004 - 15:38 #14
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?
Avatar billede hnteknik Novice
20. december 2004 - 18:25 #15
Upload.asp

<%@ language="JScript" LCID=1030 %>
<%

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;
    }
}

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);
}
</SCRIPT>
</head>
<link href="tools.css" rel="stylesheet" type="text/css">
<body>
<fieldset style="padding:5px">
<form ID="frm" method="post" enctype="multipart/form-data" action="upload_f.asp" onSubmit="return valider()">
Fil navn:&nbsp;<br>
<!--Check stien her HEN ../-->
<input type="hidden" name="PIC" value="../<%=Request.QueryString('PIC')%>">
<input type="file" name="fil" size="40" onPropertyChange="fileOC()"><br>
<input type="submit" value="Upload">
</form>
<div id="loading" style="display:none;font-family:webdings;font-size:26px;text-align:center;">==========</div>
</fieldset>
</body></html>
Avatar billede hnteknik Novice
20. december 2004 - 18:27 #16
Upload_f.asp

<%@ 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>
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