Gemme en fil via javascript

Tags:    html css

Jeg vil gerne lave en hjemmeside, hvor man skal udfylde f.eks. en tekstboks...

Derefter tryk på knap ...

Så skal der gemmes en fil (html) på brugerens HD med de indtastede oplysninger...

Hvem kan hjælpe mig?

Problemet er ikke tekstboksen.. men hvordan siger jeg "gem nyt indhold"...







4 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 9 karma
Sorter efter stemmer Sorter efter dato
Jeg vil gerne lave en hjemmeside, hvor man skal udfylde f.eks. en tekstboks...

Derefter tryk på knap ...

Så skal der gemmes en fil (html) på brugerens HD med de indtastede oplysninger...

Hvem kan hjælpe mig?

Problemet er ikke tekstboksen.. men hvordan siger jeg "gem nyt indhold"...


Som sagt har du ikke adgang til brugerens HD, men en måde at gøre det på kunne være, at oplysningerne sendes til en server, som så lavede filen så brugeren kunne downloade den.
Det kan gøres i både ASP, PHP, og garenteret også i diverse andre server-side sprog.

Tilføjelse:
Du kan faktisk godt gennem IE hvis du benytter dig af HTML Applications (.hta filer) som du kan læse meget mere om her: http://msdn.microsoft.com/library/default.asp?url=/workshop/author/hta/hta_node_entry.asp
scripts i disse hta-filer har adgang til filsystemet uden hindring, de køre faktisk med samme rettigheder som .exe filer!
Adgangen til filsystemet får du gennem FileSystemObject som er et ActiveX-object du kan læse meget mere om her: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/FSOoriFileSystemObject.asp

hvis du har lidt forstand på JScript burde det ikke være så sværdt igen.


- karmazilla -

[Redigeret d. 08/07-04 22:10:03 af Christian Vest]



Det ka' du godt lave, men det vil vist kun virke i IE - ved ikke ang. den seneste version af Mozilla da jeg ikke følger med i den DOM p.t.

Dvs. det kan laves client site only - uden brug af server roundtrip

[Redigeret d. 28/01-04 22:44:02 af Caledonia]



Jeg vil gerne lave en hjemmeside, hvor man skal udfylde f.eks. en tekstboks...

Derefter tryk på knap ...

Så skal der gemmes en fil (html) på brugerens HD med de indtastede oplysninger...

Hvem kan hjælpe mig?

Problemet er ikke tekstboksen.. men hvordan siger jeg "gem nyt indhold"...


Du kan lave lidt snyd med noget Javascript og lidt php hvis du har mulighed for det :)
Du kan dog lige så godt bare bruge php, men dette virker på en "dynamisk" måde, og kan da også bruges til mere :p
Her er et lille eksempel:

<script type="text/javascript">
function save_text(txt) {
var element = document.createElement('script');
element.src = 'php_file_with_save_function.php?txt='+txt+'&rand='+Math.Random();
child = document.body.appendChild(element);
}
function submit_form(element) {
var txt = element.txt.value;
save_text(txt);
element.txt.value = '';
return false;
}
</script>

<form onsubmit="return submit_form(this)">
<input type="text" name="txt" />
<input type="submit" />
</form>

burde virke, har ikke lige testet det :p

php_file_with_save_function.php kan så indeholde det nødvendige til at gemme variablen 'txt' hvor den nu lige skal gemmes.. dette er selvfølgelig en anderledes måde at lave noget på, som lige så godt kunne laves med en <form action="php_file_with_save_function.php">

Mvh Bob

[Redigeret d. 28/09-04 03:25:15 af Jeppe Dyrby]



Jeg vil gerne lave en hjemmeside, hvor man skal udfylde f.eks. en tekstboks...

Derefter tryk på knap ...

Så skal der gemmes en fil (html) på brugerens HD med de indtastede oplysninger...

Hvem kan hjælpe mig?

Problemet er ikke tekstboksen.. men hvordan siger jeg "gem nyt indhold"...





Du kan ikke gemme noget på brugeren maskine via JavaScript bortset fra cookies... Ellers forudsætter det at du laver enten en ActiveX komponent eller en Java applet, som brugeren skal acceptere.



t