|
| skrive til flere tekstfiler på Fra : crayzee | Vist : 1234 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.
| |
|
|