• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Mit document.getElementById().value eine Zahl ein lesen PROBLEM

Zareko

Neues Mitglied
Hallo Leute :)
Ich bins mal wieder mit ner neuen Frage :D
Bei meinen Übungen bin ich auf folgendes Problem gestoßen:
Ich möchte, dass in ein Textfeld eine Zahl eingegeben wird und diese dann abgespeichert wird.

Code:
<input type="text" name="Holzkaufen" id="Holzkauf" value="0">
<button onclick="Holzkauf = document.getElementById('Holzkauf').value;resis=Holzkauf;AusgabeHolz();">Kaufen (5G pro.)</button>

Man gibt also ein wieviel Holz man kaufen möchte diese Zahl soll in der Variable "resis" gespeichert werden.
Diese Zahl wird nun durch andere Funktionen laufen und letzendlich mit der Variable "holz" addiert und in einem Cookie abgespeichert.


Hier mal die verschiedenen Funktionen: Sorry wenn die zu unübersichtlich sind.
Code:
//Ausgabe Holzbestand
function AusgabeHolz() {
var holz = ZaehlerstandHolz();
alert("Holz: "+ holz);
}

function ZaehlerstandHolz () {
  var Verfallszeit = 1000 * 60 * 60 * 24 * 365;
  var AnzahlHolz = WertHolenHolz();
  var ZaehlerHolz = 0;
  if (AnzahlHolz != "")
  ZaehlerHolz = parseInt(AnzahlHolz);
   ZaehlerHolz = ZaehlerHolz + resis;
  WertSetzenHolz("ZaehlerHolz", ZaehlerHolz, Verfallszeit);
  return (ZaehlerHolz);
}


//Holzstand abspeichern
function WertSetzenHolz (Bezeichner, holz, Verfall) {
  var jetzt = new Date();
  var Auszeit = new Date(jetzt.getTime() + Verfall);
  document.cookie = Bezeichner + "=" + holz + "; expires=" + Auszeit.toGMTString() + ";";
}

//Holzstand aus dem speicher lesen
function WertHolenHolz () {
  var holz = "";
  if (document.cookie) {
  var Wertstart = document.cookie.indexOf("=") + 1;
  var Wertende = document.cookie.indexOf(";");
  if (Wertende == -1)
  Wertende = document.cookie.length;
  holz = document.cookie.substring(Wertstart, Wertende);
  }
  return holz;
}

Das Problem ist nun das wenn
die var "holz" vorher schon 5 war und ich nun den Wert 9 eingebe der and die var "resis" übergeben wird. Der neue "holz" Wert 59 ist und nicht 14.
Das alles wird also als String behandelt und nur hinten dran gestellt und nich wirklich addiert.
Ich hoffe ihr konntet mein Problem verstehen, habt genug Anhaltspunkte und vll sogar eine Lösung ;)
Lg Zareko


PS: Ist das Javascript Forum richtig ? ich habe es auf des document. Befehls gewählt da dieser ja prinzipiell javascript ist.
 
Code:
WertSetzenHolz("ZaehlerHolz", ZaehlerHolz, Verfallszeit);
Warum übergibst du den ersten Parameter hier als String?
 
Ich habe im Internet nach Möglichkeiten Variablen abzuspeichern gesucht die Muster gelernt und diese dann ein wenig verändert und ergänzt. Warum dort allerdings "" sind kann ich dir nicht sagen. ICh versuche es mal ohne und gucke dann wie es läuft . Könnte es sein das er darum einen String araus macht und keine Variable ?
 
Ich weiß es wieder, der erste Parameter ist wie auch in den Funktionen zu erkennen, der Bezeichner. der Bezeicher stellt den Namen des cookies da, der zweite parameter den Wert des cookies und der dritte anch wieviel Zeit der cookie gelöscht werden soll.
also der Wert ist schon ein string wenn er abgespeichert wird wahscheinlich.

PS: Gibt es nicht vll auch eine Möglichkeit die Var in einer .txt datei oder so auf dem PC zu speichern ?
 
Es gibt drei sinnvolle Möglichkeiten, Variablen zu speichern: Cookies, Sessions und natürlich in einer Datenbank.
 
Soll heißen:
Ich muss die " " machen, da es sich dabei um einen Namen handelt :)
*Doch nich alles vergessen was ich mir durchgelesen hab* *freu*
 
Datenbank und sessions sind ja php orientiert, damit wolte ich mich eigl erst etw später beschäftigen aber dann solls wohl so sein :D
Vielen Dank schonmal auch wenn ich das Problem noch nicht gelöst habe.
Mir ist schon beim suchen klar geworden das reines HTML sehr schnell zu Ende ist :)

EDIT: Dann geh ich jetzt mal php lernen :'D (mal ebenso;) )
 
[QUOTE="Zareko, post: 355641, member: 32631"

EDIT: Dann geh ich jetzt mal php lernen :'D (mal ebenso;) )[/QUOTE]

Das würde ich dir auch empfehlen. PHP ist aus diversen Gründen für einen Einsteiger leichter zugänglich. Anschließend kommt jQuery dran und danach kannst du gleich mit objektorientierten JavaScript einsteigen.
 
Zurück
Oben