|  | 		    
					
    
        
            
                
                | |  | skrive til flere tekstfiler på Fra :
  crayzee | Vist : 1822 gange 100  point
 Dato :  06-02-09 18:37
 | 
 |  | 
 
                hey har kigget lidt på html og fundet sådan et eksempel her
 | Kode <html>
 <%
 Dim fso, f, filespec
 Set fso = CreateObject("Scripting.FileSystemObject")
 filespec = Server.Mappath("/tutorials/asp/tekstfil.txt")
 Set f = fso.OpenTextFile(filespec,2)
 
 ' Skriv tekst i en linie
 f.Write Request.Form("tekstblok")
 
 ' Åbn filen til læsning og Læs linie for linie
 Set f = fso.OpenTextFile(filespec,1)
 Do While not f.AtEndOfStream
 Response.write f.ReadLine & "<br>"
 Loop
 f.Close
 %>
 | 
 jeg har 3 formularer der hver især skal skrive til deres egen tekstfil, fx skal formularen "rejser" skrive dens input i tekstfilen "rejser1.txt" og så fremdelen skal de 2 andre formularer også skrive til deres egen tekstfil, så man til sidst bare trykker send og så er det tilføjet..
 nogle der kan knække koden?   |  |  | 
 |  |  | 
 
                For mig ser det ud som om at du i asp-delen må kopiere den eksisterende kode, så du altså får oprettet et selvstændigt objekt
 | Citat Set fso1 = CreateObject("Scripting.FileSystemObject")
 filespec1 = Server.Mappath("/tutorials/asp/tekstfil1.txt")
 | 
for hver tekstfil.
 De tre HTML forme skal så IKKE have en <input = submit)
 I stedet skal kun den ene form (passende, den nederste) have en <input type=button value='Send'>...
 men med en tilføjelse. Der skal være et kald til en javascriptfunktion, der kan initiere submit på alle form-objekter på "næsten" samme tid.
 Sådan:
 | Kode <input type=button value='Send' onClick=submitAllForms();>
 | 
feks.:
 function submitAllForms() {
   form1.submit();
   form2.submit();
   form3.submit();
 }
 Jeg er altså ikke sikker på, at det vil virke... bare et forslag    |  |  | 
 | |  | Accepteret svar Fra :
  justuniverse  |  Modtaget 100  point
 Dato :  09-02-09 02:02
 | 
 |  | 
 
                Nej forresten. Ved nærmere eftertanke duer mit forslag nok ikke. For siden (og dermed form2 og form3 vil blive ryddet ved submit af form1).
 Lav i stedet for én stor form, som du rent visuelt får til at ligne 3 forskellige forms. Men bibehold 3 adskilte objekter til skrivning i hver sin textfil.
 Så kan du lave functioner i javascript til at returnere lige præcis de tekster, der skal i den tilhørende tekstfil.
 | Kode function getText1() {
 var text1 = "";
 text1 = text1 + document.getElementById('felt1').value + "\n";
 text1 = text1 + document.getElementById('felt2').value + "\n";
 text1 = text1 + document.getElementById('felt3').value + "\n";
 
 return text1;
 }
 
 function getText2() {
 var text2 = "";
 text1 = text2 + document.getElementById('felt4').value + "\n";
 text1 = text2 + document.getElementById('felt5').value + "\n";
 text1 = text2 + document.getElementById('felt6').value + "\n";
 
 return text2;
 }
 
 osv...
 
 I ASP-koden:
 Set fso = CreateObject("Scripting.FileSystemObject")
 filespec1 = Server.Mappath("/tutorials/asp/tekstfil1.txt")
 Set text1Object = fso.OpenTextFile(filespec1,2)
 
 ' Skriv tekst fra første gruppe til text1-filen
 f.Write Request.Form(javascript:getText1())
 
 osv...
 | 
Hvis det altså kan lade sig gøre???
 Held og lykke.
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  crayzee | 
 Dato :  09-02-09 15:28
 | 
 |  | 
 
                hey... jeg har kigget lidt på dine eksempler og er kommet frem til følgende:
 | Kode <%
 dim fs,f
 set fs=Server.CreateObject("Scripting.FileSystemObject")
 set f=fs.CreateTextFile(Server.Mappath("salgstekst.txt"))
 f.Write Request.Form("salgstekst")
 f.close
 set f=nothing
 
 set f=fs.CreateTextFile(Server.Mappath("frakun.txt"))
 f.Write Request.Form("frakun")
 f.close
 set f=nothing
 
 set f=fs.CreateTextFile(Server.Mappath("pris.txt"))
 f.Write Request.Form("pris")
 f.close
 set f=nothing
 set fs=nothing
 %>
 | 
men jeg får følgende fejl:
 | Citat Error Type:
 Scripting.FileSystemObject.1 (0x800A003A)
 File already exists.
 /administrator/tilbud_1/tilbud_1_send.asp, line 4
 
 
 Browser Type:
 Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)
 
 Page:
 POST 48 bytes to /administrator/tilbud_1/tilbud_1_send.asp
 
 POST Data:
 salgstekst=Salgstekst&frakun=Fra%2FKun&pris=Pris
 | 
jeg har læsr mig frem til noget skal være "true" i koden men aner ikke hvad
                
                
                 |  |  | 
 | |  | Godkendelse af svar Fra :
  crayzee | 
 Dato :  10-02-09 01:12
 | 
 |  | 
 
                Tak for svaret justuniverse. Jeg fandt denne løsning:
 | Kode <%
 dim fs,f
 set fs=Server.CreateObject("Scripting.FileSystemObject")
 if fs.FileExists(Server.Mappath("/tutorials/asp/tekstfil1.txt"))=True then
 fs.DeleteFile(Server.Mappath("/tutorials/asp/tekstfil1.txt"))
 end if
 if fs.FileExists(Server.Mappath("/tutorials/asp/tekstfil2.txt"))=True then
 fs.DeleteFile(Server.Mappath("/tutorials/asp/tekstfil2.txt"))
 end if
 if fs.FileExists(Server.Mappath("/tutorials/asp/tekstfil3.txt"))=True then
 fs.DeleteFile(Server.Mappath("/tutorials/asp/tekstfil3.txt"))
 end if
 set f=fs.CreateTextFile(Server.Mappath("/tutorials/asp/tekstfil1.txt"))
 f.write("Dette er tekstfil1")
 f.close
 set f=nothing
 set f=fs.CreateTextFile(Server.Mappath("/tutorials/asp/tekstfil2.txt"))
 f.write("Dette er tekstfil2")
 f.close
 set f=nothing
 set f=fs.CreateTextFile(Server.Mappath("/tutorials/asp/tekstfil3.txt"))
 f.write("Dette er tekstfil3")
 f.close
 set f=nothing
 set fs=nothing
 %>
 | 
så nu virker det   |  |  | 
 | |  | Du har følgende muligheder |  | 
 |  | 
            
               
                    Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.
 Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
 |  |  | 
 |  |