/ Forside/ Teknologi / Udvikling / ASP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
skrive til flere tekstfiler på
Fra : crayzee
Vist : 1192 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?

 
 
Kommentar
Fra : justuniverse


Dato : 06-02-09 19:44

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.
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste