WinFuture-Forum.de: Cookie Per Js Setzen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Cookie Per Js Setzen


#1 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.119
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 06. August 2008 - 19:37

Hallo,
ich habe nun schon was zusammengebastelt aber komme nicht zum Ergebnis!

Ich möchte ohen die Seite neuzuladen einen Cookie mit dem Inhalt eines Formulars per JS abschicken und eine Bestätgung ausgeben, hier der rohcode!^^

<code><script language="JavaScript">
	  function CookieSetz(Bezeichner,Wert,Dauer)
	  {
		 jetzt=new Date();
		 Auszeit=new Date(jetzt.getTime()+Dauer*31556926);
		 document.cookie=Bezeichner+"="+Wert+";expires="+Auszeit.toGMTString()+";";
		 document.getElementById("suc").innerHTML = "Es hat geklappt, " + document.forms.{jsccookie}.{jscookiename}.value;
	  }
   </script>
   
   <form name="jsccookie" action="" onsubmit="CookieSetz('per_name','Inhalt vom Formular',365);">
   Dein Name: <input type="text" name="jscookiename" />
   <input type="submit" value="Cookie setzten!" />
   </form>
   <div id="suc"></div></code>


Ich weiß nicht richtg was da nun falsch ist. Ich weiß aber dass ncoh etwas fehlt undd zwar dass der Cookie den Inhalt vom formular "name" in sich trägt.

Wer kann den Code berichtigen und vervollständigen, bin mit JS grade erst am Anfang und jetzt schon überfordert!

Gruß,
Toasterfraktion
0

Anzeige



#2 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 06. August 2008 - 20:43

Das kannst du genau so machen, so wie du auch den Namen im div anzeigen lässt.

<script language="JavaScript">
function CookieSetz(Bezeichner, Wert, Dauer) {
	var Auszeit = new Date((new Date()).getTime()+1000*3600*24*Dauer);
	Auszeit = Auszeit.toGMTString();
	alert(document.cookie);
	var cookie_text = Bezeichner + "=" + unescape(Wert) + ";expires=" + Auszeit + ";";
	document.cookie = cookie_text;
	document.getElementById("suc").innerHTML = "Es hat geklappt, " + document.forms.jscookie.jscookiename.value;
	return false;
}
</script>

<form name="jscookie" action="#" method="get" onsubmit="return CookieSetz('per_name',document.forms.jscookie.jscookiename.value, 365);">
Dein Name: <input type="text" name="jscookiename" />
<input type="submit" value="Cookie setzten!" />
</form>


Gruß,
Stefan
0

#3 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.119
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 06. August 2008 - 23:06

Ja es funktioniert soweit allerdings nicht die Ausgabe im div
Habe das alert(document.cookie); mal weggelassen, oder brauch ich das?

Gruß,
Toasterfration
0

#4 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 07. August 2008 - 07:42

Hi,

das alert() hatte ich nur drin, um zu sehen, ob wirklich ein Cookie gesetzt wurde.

Also bei mir funktioniert der Code sowohl im Opera als auch im IE7 fehlerfrei:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JS-Test</title>

<script type="text/javascript">
function CookieSetz(Bezeichner, Wert, Dauer) {
	var Auszeit = new Date((new Date()).getTime()+1000*3600*24*Dauer);
	Auszeit = Auszeit.toGMTString();
	var cookie_text = Bezeichner + "=" + unescape(Wert) + ";expires=" + Auszeit + ";";
	document.cookie = cookie_text;
	document.getElementById("suc").innerHTML = "Es hat geklappt, " + Wert;
	return false;
}
</script>

</head>

<body>

<form name="jscookie" action="#" method="get" onsubmit="return CookieSetz('per_name', document.getElementById('jscookiename').value, 365);">
Dein Name: <input type="text" id="jscookiename" name="jscookiename" />
<input type="submit" value="Cookie setzten!" />
</form>

<div id="suc"></div>

</body>
</html>



Gruß,
Stefan
0

#5 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.119
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 07. August 2008 - 09:20

Joar jetzt klapp es! Aber ich dachte eigentlich dass der Cookie abgesendet wird ohne die Seite neu zu laden, weil darauf kam es mir eigentlich an, sonst hätte ich es auch in php machen können.

Dieser Beitrag wurde von Toasterfraktion bearbeitet: 07. August 2008 - 09:35

0

#6 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 07. August 2008 - 09:52

Die Seite wird nicht neugeladen. Das Cookie wird gesetzt und das Absenden des Formulars wird mit return false; verhindert. Ich kann leider dein Problem nicht nachvollziehen.
Was meinst du mit Cookie absenden?

Gruß,
Stefan
0

#7 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.119
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 07. August 2008 - 10:47

Stimmt, du hast recht ich hatte für den text die div gar nicht eingebaut und somit kam er garnicht zu "return false;"!

gruß,
Toasterfraktion
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0