eMatt: Formulardaten für Umfrage in Cookie zwischenspeichern

Beitrag lesen

Hallo allerseits!

Habe das Problem, dass ich eine Umfrage mit HTML-Formularen machen und dabei ist mein eigentliches Problem, dass es wie gesagt mehrere Formulare sein sollen und dass ich es im Intranet publizieren muss und deswegen keinen externen Formulardienstleister in Anspruch nehmen kann. Der interne bietet allerdings nicht die Möglichkeit an Daten, die auf einem Forumlar gemacht wurden, in eine Variable zu speichern und erst mit einem weiteren Formular gesamt zu verschicken.
Deswegen versuche ich jetzt die Daten in einem Cookie zu speichern und in jedem Formular auf dieses Cookie zuzugreifen und dann auf dem letzten Formular alles gesamt zu verschicken. Aber irgendwie klappt das nicht so ganz - bin JavaScript-Anfänger.
Da die Formulare wie gesagt im Intranet publiziert werden hier der Code von 2 Formularen mit denen ich das ganze gerade teste. (Dazwischen ist noch eine Seite, auf der aber keine Daten eingegeben werden.)

1. Formular:
<html>

<head>
 <meta http-equiv="Content-Type">
 <link rel="stylesheet" type="text/css" href="Stylesheet.css" media=all>
 <title>Umfrage zur Standardisierung</title>
 <script type="text/javascript">
  <!-- JavaScript vor nicht JavaScript-fähigen Browsern verstecken
  var EvtlAnderes
  function BeiClick() {
   AnderesAktiviert();
   EvtlAnderesBelegen();
   Cookie();
  }
  function AnderesAktiviert() {
   if (document.Formular.KenntUnsVon[0].checked==false && document.Formular.KenntUnsVon[1].checked==false &&
      document.Formular.KenntUnsVon[2].checked==false && document.Formular.KenntUnsVon[3].checked==false &&
      document.Formular.KenntUnsVon[4].checked==false && document.Formular.KenntUnsVon[5].checked==false &&
      document.Formular.KenntUnsVon[6].checked==false) {
      window.alert("Sie müssen etwas auswählen um mit der Umfrage fortfahren zu können!")}
     else {
    if (document.Formular.anderesEingabe.value != "" && document.Formular.KenntUnsVon[6].checked == false) {
     window.alert("Sie dürfen nichts in das Textfeld eingeben, wenn Sie nicht auch den "
     + "Radiobutton 'Anderes' ausgewählt haben!");}
    else {location.href="http://www.intranet.undsoweiter'";}
   }
  }
  function EvtlAnderesBelegen() {
   if (document.Formular.KenntUnsVon[6].checked == true) {EvtlAnderes = document.Formular.anderesEingabe.value}
   else {EvtlAnderes = ""}
  }
  function Cookie() {
  // Die Infos dieses Formulars als Cookie zwischenspeichern (Im letzten Formular werden sie alle zusammen versendet.) //
   if (liesCookie('CookieESN1Umfrage') == null) {
    var expdate = new Date();
    expdate.setTime(expdate.getTime() + (1000 * 60 * 60 * 24 * 80));
    setzeCookie('CookieESN1Umfrage', expdate, document.Formular.KenntUnsVon.value, EvtlAnderes);}
   else if (liesCookie('CookieESN1Umfrage') != null) {
    VorhandenesCookieLoeschen();
    var expdate = new Date();
    expdate.setTime(expdate.getTime() + (1000 * 60 * 60 * 24 * 80));
    setzeCookie('CookieESN1Umfrage', expdate, ", Kennt uns von = ", document.Formular.KenntUnsVon.value, EvtlAnderes)};
  }
  function liesCookieWert (offset) {
   var endstr = document.cookie.indexOf (";", offset)
   if (endstr == -1) {
    endstr = document.cookie.length; }
   return unescape(document.cookie.substring(offset, endstr));
  }
  function liesCookie (CookieName) {
   var arg = CookieName + "=";
   var argLaenge = arg.length;
   var CookieLaenge = document.cookie.length;
   var i = 0;
   while (i < CookieLaenge) {
    var j = i + argLaenge;
    if (document.cookie.substring(i,j) == arg) {return liesCookieWert(j)};
    if (i == 0) {break};
   }
   return null;
  }
  function setzeCookie(name, wert1, wert2, wert3, wert4) {
   var argv = setzeCookie.arguments;
   var argc = setzeCookie.arguments.length;
   var expires = (argc > 2) ? argv[2] : null;
   var path = (argc > 3) ? argv[3] : null;
   //var domain = (argc > 4) ? argv[4] : null;
   var domain = "www.intranet.bosch.com";
   var secure = (argc > 5) ? argv[5] : null;
   document.cookie = name + "=" + escape(wert1 + ", " + wert2 + ", " + wert3 + ", " + wert4) +
    ((expires == null) ? "" : ("; expires = " +
    expires.toTimeString())) + ((path == null) ? "" : ("; path=" + path)) +
    ((domain == null) ? "" : ("; domain = " + domain)) + ((secure == true) ? "; secure" : "");*/
  }
  function VorhandenesCookieLoeschen() {
   var abgelaufen = new Date();
   abgelaufen.setTime(abgelaufen.getTime() - 1000000);
   var CookieWert = getCookie('CookieESN1Umfrage');
   document.cookie = 'CookieESN1Umfrage' + "=" + CookieWert + "expires=" + abgelaufen.toTimeString();
  }
  //-->
 </script>
</head>

<body>
 <h1>
  Umfrage zur Standardisierung
 </h1>
 <br>
 <br>
 <form name="Formular" method="post">
  <table align=center>
   <tr>
    <td></td>
    <td>
     Woher kennen Sie ESN1?
    </td>
    <td></td>
   </tr>
   <tr>
    <td width=25%>
     &nbsp;
    </td>
    <td class="Auflistung" width=50%>
     <br>
     <input type="radio" name="KenntUnsVon" value="PPL"> Von der PPL<br>
     <input type="radio" name="KenntUnsVon" value="Handbuch"> Durch das EE-Handbuch<br>
     <input type="radio" name="KenntUnsVon" value="Website"> Von der Website<br>
     <input type="radio" name="KenntUnsVon" value="Responsibility-Matrix"> Durch die Responsibility-Matrix<br>
     <input type="radio" name="KenntUnsVon" value="Newsletter"> Durch den Newsletter<br>
     <input type="radio" name="KenntUnsVon" value="New-Parts-Matrix"> New-Parts-Matrix-Abfrage<br>
     <input type="radio" name="KenntUnsVon" value="Anderes"> Anderes: <input name="anderesEingabe"
      type="text" style="font-size:11pt;color:#990000;width:50mm;height:7mm;" maxlength="50"><br>
    </td>
    <td width=25%>
     &nbsp;
    </td>
   </tr>
  </table>
  <br>
  <br>
   <p class="pButton" >
    <input class="Button" type="button" value=" Zurück "
    onclick="location.href='http://www.intranet.undsoweiter'">
    <input class="Button" type="button" value=" Weiter " onclick="BeiClick()">
   </p>
 </form>
</body>

</html>

Das 3. Formular folgt in der 1. Antwort auf dieses Posting, da es sonst zu lang würde.

Wär echt cool, wenn mir jemand helfen könnte! Viele Dank schon mal.

Gruß,
eMatt