Avatar billede gejl Nybegynder
06. marts 2009 - 00:02 Der er 4 kommentarer

Gemme form data til fil

Jeg har en fil som jeg laver et tal udtræk fra?

numbers.js
------------------------------------------------------------
txt = "90";
document.write(txt);
------------------------------------------------------------


Tallet vil jeg gerne kunne rette til og derfor mangler jeg en funktion der kan genskrive eller rette i filen numbers.js

Det skal kører på en computer der ikke har internet adgang og ikke har php/asp eller lign. Kun Javascript og html i en alm. browser. Jeg har hertil lavet en editor som bare mangler at kunne gemme det valgte tal i filen numbers.js


editor.html
------------------------------------------------------------
<form id="changenumber" name="changenumber" method="get" action="start.html">
  <input type="text" name="number" id="number" value=""  />
  <input type="submit" name="button" id="button" value="Insert" />
</form>

Seneste tal: <script type="text/javascript" src="files/numbers/numbers.js"></script>
------------------------------------------------------------

Er der ikke nogen der kan hjælpe mig med den. Kunne sagtens lave den i php, men den mulighed har jeg ikke!

/Gejl
Avatar billede keysersoze Guru
06. marts 2009 - 07:57 #1
Du kan ikke rette i HTML/JS filer på klienten - måske cookies er en løsning; http://www.quirksmode.org/js/cookies.html
Avatar billede mbm2016 Nybegynder
06. marts 2009 - 09:56 #2
ja, du kan bruge dette lille API jeg lige har lavet:
http://magnusbm.dk/cookie.js

HUSK nu at lade vær med at linke direkte ;)

Nå, men derefter kan du implementere dette API ind i din kode og kalde f.eks lavCookie("gemtnummer") og når du så vil have dit nummer tilbage kunne du bruge API'ts findCookie("gemtnummer").

Kodeeksempel:
<script>
if(findCookie("gemtnummer")) // Tjekker om nummeret er blevet gemt før
{ // Hvis ja så:
var udskriv = findCookie("gemtnummer"); // Hent cookien gemtnummer
document.write(udskriv); // og udskriv den
}else{ // Hvis nummeret ikke er blevet gemt før så:
var txt = "90"; // Sæt nummeret til 90
lavCookie("gemtnummer",txt); // Gem nummeret
document.write(txt); // Og udskriv det
}
</script>

Dette script vil i dit tilfælde ikke virke helt optimalt da jeg skal kende din form kode. Men jeg går ud fra du selv kan implementere mit API, og også selv lave gem funktionen færdig til dit behov.

/mbm2007
Avatar billede olebole Juniormester
07. marts 2009 - 19:50 #3
<ole>

Hvis du kan leve med advarslen, kan du på en lokal maskine gøre noget à la:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<script type="text/javascript" src="numbers.js"></script>
<script type="text/javascript">
function editJS() {
    var sTxt = document.getElementById("numb").value;
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    var oFile = fso.OpenTextFile("numbers.js", 2, true);
    oFile.write('var txt = "' + sTxt + '"');
    oFile.close();
    oFile = fso = null;
}
window.onload = function() {
    document.getElementById("numb").value = txt;
}
</script>
</head>
<body>

<input id="numb" type="text">
<button onclick="editJS()">Edit</button>

</body>
</html>

/mvh
</bole>
Avatar billede olebole Juniormester
07. marts 2009 - 19:51 #4
- og hvis det er helt rigtigt, skal script tagget se sådan ud:
    <script type="text/jscript">
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