Avatar billede engberg Juniormester
30. marts 2000 - 12:29 Der er 16 kommentarer og
1 løsning

Javascriptrutine og base target

Jeg har en formular som skal opdateres og submittes en gang i minuttet. Ved at den gør det skal den uploade den samme fil til en server en gang i minuttet.

Måske kan det laves som en javascriptrutine der kalder Form.submit() en gang hver 60. sekund. Med Base Target sat til en anden ramme?

Selve formen der skal sendes ser således ud:

<form name=uploadfiles action="http://sitemgr1.ewebcity.com/ufiles.asp?nf=" enctype="MULTIPART/FORM-DATA" method=post>
<input type=file name=file1 value="webcam.jpg"><br>
<input type=file name=file2><br>
<input type=file name=file3><br>
<input type=file name=file4><br>
<input type=file name=file5><br>
<b><input type=submit value='Start File(s) Upload'></b>
</form>

Venligst
  Kasper Engberg
Avatar billede olebole Juniormester
31. marts 2000 - 04:27 #1
<ole>
GUUuuuud...engberg...!!! Det må du sgu undskylde, det havde jeg fuldstændig svedt ud :.(

Funktionen kunne se sådan ud:

<script language="JavaScript"><!--

function sendFile() {
  document.uploadfiles.submit();
  setTimeout("sendFile()",60000);
}

// -->
</script>

...og så:

<input type=button value='Start File(s) Upload' onclick=sendFile();>

Hvorfor ville du lave en anden BaseTarget...?
/VH
</bole>
Avatar billede engberg Juniormester
31. marts 2000 - 08:50 #2
Fordi når jeg prøver dit foreslag hopper den til en ny side, der viser hvilket upload der er foretaget - hvilket jo så gør at det ikke virker... :(

Har du en løsning?
Avatar billede olebole Juniormester
31. marts 2000 - 21:59 #3
Jamen Engberg, kan du ikke gøre sådan her? Lav et frameset (rows=100%,*). I den øverste frame loader du et dokument med følgende:

<script language=JavaScript><!--

funktion klon() {
  for (i=0;i<document.uploadfiles1.length-1;i++) {
    parent.frames[1].document.uploadfiles.elements[i].value = document.uploadfiles1.elements[i].value
;
    parent.frames[1].document.uploadfiles.submit();
  }
setTimeout("klon()",60000)
}

// -->
</script>
</head>
<body>

<form name=uploadfiles1>
<input type=file name=file1 value="webcam.jpg"><br>
<input type=file name=file2><br>
<input type=file name=file3><br>
<input type=file name=file4><br>
<input type=file name=file5><br>
<b><input type=button value='Start File(s) Upload' onclick=klon();></b>
</form>

...osv ;-)

I den nederste frame loader du: http://sitemgr1.ewebcity.com/ufiles.asp
Når denne fil loades, skal den skrive en form, der ser således ud:

<form name=uploadfiles action="http://sitemgr1.ewebcity.com/ufiles.asp?nf=" enctype="MULTIPART/FORM-DATA" method=post>
<input type=file name=file1><br>
<input type=file name=file2><br>
<input type=file name=file3><br>
<input type=file name=file4><br>
<input type=file name=file5><br>
</form>

Hvis 'nf' havde en værdi, da filen blev kaldt, startede den med at eksekvere sin egentlige opgave, inden den skrev formen ud.

Du starter altså med at vælge filer i øverste frame. Derefter - når du klikker - sætter du værdierne i en tilsvarende form i den skjulte frame. Denne form submittes, server-scriptet eksekveres og en ny form udskrives.
Timeren aktiveres lige efter, du submitter formen.

Det, vil jeg mene, kan gøre det ;-)
Avatar billede olebole Juniormester
31. marts 2000 - 22:00 #4
Det semikolon, der svæver der for sig selv, burde have stået på linien før!
Avatar billede engberg Juniormester
02. april 2000 - 15:40 #5
Der er et problem et eller andet sted her.... Der sker ikke en skid, når jeg forsøger at uploade...

upload.htm
<HTML>
<HEAD>
<TITLE>Upload</TITLE>
</HEAD>

<frameset rows="50%,*">
    <frame name="top" src="wup1.htm" noresize>
    <frame name="bund" src="http://sitemgr1.ewebcity.com/ufiles.asp" noresize>
</frameset>
<BODY TEXT="#000000" BGCOLOR="#C0C0C0" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
</BODY>
</HTML>

wup1.htm
<HTML>
<HEAD>
<TITLE>Upload</TITLE>
<script language=JavaScript><!--

funktion klon() {
  for (i=0;i<document.uploadfiles1.length-1;i++) {
    parent.frames[1].document.uploadfiles.elements[i].value = document.uploadfiles1.elements[i].value;
    parent.frames[1].document.uploadfiles.submit();
  }
setTimeout("klon()",60000)
}

// -->
</script>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#C0C0C0" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
<CENTER>

<form name=uploadfiles1>
<input type=file name=file1 value="c:\billeder\webcam.jpg"><br>
<input type=file name=file2><br>
<input type=file name=file3><br>
<input type=file name=file4><br>
<input type=file name=file5><br>
<b><input type=button value='Start File(s) Upload' onclick=klon();></b>
</form>

</CENTER></body></html>

Hjælp Hjælp Hjælp!!!
Avatar billede engberg Juniormester
02. april 2000 - 15:42 #6
Jeg tror at det bl.a. er en javascriptfejl........
Avatar billede olebole Juniormester
04. april 2000 - 03:29 #7
OK...Plan B...! ;-)

Jeg lavede en fejl ved at skrive 'funktion klon()' i stedet for 'function klon()'. Det rør dog ikke ved, at man åbenbart ikke kan sætte en værdi på en 'type=file' med JavaScript :-(

Prøv at gå tilbage til dit første forsøg. Efter asp-dokumentet har 'ordnet, hvad det skal', skal det udskrive noget html, hvor der indgår et script, der ser sådan ud:

<script language=JavaScript><!--

if (document.referrer.indexOf('wup1.htm')!=-1) {
    history.back();
}

// -->
</script>

Så vil browseren gå tilbage til 'wup1.htm' med alle inputs udfyldt. I toppen af 'wup1.htm' skal der så stå:

<script language=JavaScript><!--

function goAgain() {
  document.uploadfiles.submit();
}

function checkMyForm() {
  if (document.uploadfiles.elements[0].value!="") {
  setTimeout("goAgain()",60000);
}

// -->
</script>

og i body'en:
<body onload=checkMyForm();>

Så vil du starte en endeløs sløjfe af uploads, hvis du har noget stående i første input.

Den kan stoppes ved at tilføje flg. knap til formen:

<input type=reset value=' slet formular ' onclick='document.location=self.location'>

onclick-kaldet er der, fordi timeren jo starter på 'onload' - og derfor vil sende en tom form afsted. Derfor skal siden reloades, lige så snart du har slettet formen.

/vh
Avatar billede jumper Nybegynder
04. april 2000 - 04:11 #8
Du kan IKKE sætte en value på en input af file typen!!

Ellers kunne jeg jo hurtigt skrive

<form>
<input type=file value=c:\hemmeligfil.skod>
</form>
<script>
document.forms[0].submit()
</script>

og dermed hente hvilken som helst fil fra din pc.

Hvad du end prøver at opnå må gøres på en anden måde.

/Thor
Avatar billede olebole Juniormester
04. april 2000 - 04:48 #9
Hvilket jo NETOP er, hvad jeg har skrevet, Thor! ;-)
Avatar billede jumper Nybegynder
04. april 2000 - 04:51 #10
Yep, jeg ville blot præcisere det ;) (eller rettere, overså blot din kommentar om det *G*)

Hov, så skulle jeg jo huske at skrive: Det er en sikkerhedsindstilling. Som standard kan du IKKE gøre det. Så medmindre du udvikler til et intranet kan du godt glemme det ;)

/Thor
Avatar billede olebole Juniormester
04. april 2000 - 05:16 #11
Lige et par ting, Thor:

1. Jeg er uden tvivl kendt som lidt af en sarkastisk terrier her på Eksperten...Hehe! (Forhåbentligt dog som én, der har LIDT at have det i...!?!)
2. Når jeg er sarkastisk, er det som oftest i en 'god mening' (undtagelser forekommer - men så er det som regel RET tydeligt...håber jeg!).
3. Der lå INGEN bevidst sarkasme i min forrige kommentar ;-)
4. Jeg skrev et svar jeg ikke havde afprøvet...ikke smart! Jeg opdagede min fejl ved at afprøve det, men VIDSTE ikke positivt, hvorfor det ikke virkede!
Det er altid fedt, når folk, der har forklaringen, blander sig...Tak!

/VH
Ole
Avatar billede jumper Nybegynder
04. april 2000 - 05:27 #12
Hej Ole

Jeg forsøgte skam heller ikke at være nedladende eller bedrevidende ;)

1. Kan også være sarkastisk ;)
2. Samme her.
3. Check ;)
4. Kender det ;)

/Thor
Avatar billede olebole Juniormester
04. april 2000 - 05:40 #13
;-)
...mens vi venter på engberg...
Avatar billede engberg Juniormester
04. april 2000 - 07:26 #14
Jaja, bare fordi man ikke er oppe midt om natten..... lad mig nu lige få øjne...

olebole>> Det ser fint ud, men hvad er det lige at asp-scriptet "skal" gøre ellers???

Jeg smider lige 100 points mere i puljen, hvis vi kan få det til at virke.
Avatar billede olebole Juniormester
04. april 2000 - 09:12 #15
God morgen ;-))

Jeg ved da ved Gud ikke, hvad du synes dit asp-dokument skal gøre...jeg kan jo ikke se det ;-)

Det jeg mener er bare, at du skal skrive html-tingene efter de scripts, asp'en skal afvikle. Så er du sikker på, scriptene er afviklet, inden der stilles om til form-dokumentet igen.
Avatar billede engberg Juniormester
04. april 2000 - 16:06 #16
....men det eneste ASP-scriptet skal bruges til, er til at få den her upload til, at virke!!!
Avatar billede engberg Juniormester
17. april 2000 - 09:59 #17
Det ser ikke ud til at det kan lade sig gøre at løse problemet i ASP, derfor lukker jeg spørgsmålet (Ole - du skal nok få point hvis det lykkedes!).
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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