option selected "irgendwie" merken...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • option selected "irgendwie" merken...

    Hi Ihr,

    Ich habe ein kleines Problem:

    Ich biete den Mitarbeiter in 5 Shops ein Login mit Auswahl des Shops.

    PHP-Code:
    <select name="shop">
     <
    option value="12900858"Shop 1</option>
     <
    option value="12900760"Shop 2</option>
     <
    option value="12900850"Shop 3</option>
     <
    option value="12900216"Shop 4</option>
     <
    option value="19000083"Shop 5</option>
    </
    select
    Dahinter steht noch eine Userauswahl mit Passwordübergabe, etc.

    Abhängig vom Shop werden im folgenden unterschiedliche Masken angezeigt. Vom Ablauf her funktioniert alles einwandfrei.

    Natürlich bekommt jetzt jeder Anwender immer zuerst den Shop 1 zur Auswahl. Nun suche ich nach einer Möglichkeit, dass sich der PC/die Anwendung irgendwie merkt, welche Auswahl zuletzt vorgenommen wurde und den Shop als "selected" vorauswählt. Meinetwegen auch gern in irgendein Cookie schreiben oder so was. Ich habe keine Ahnung, wie ich da vorgehen soll. Vielleicht könnte man den Shop als "Präferenzjob" mit in die Usertabelle schreiben. Wie komme ich aber an das Feld, wenn ich doch bei der Auswahl des Shops den anmeldenden User noch gar nicht kenne.

    Vielen Dank
    Klaus

  • #2
    Hi Teddyklaus,

    die Funktion setCookie wird beim Absenden des Formulars aufgerufen. Zuerst wird ein eventuell vorhandenes Cookie gelöscht, in dem als Verfallsdatum ein Datum in der Vergangenheit gesetzt wird.
    Anschließend wird ein Cookie gesetzt, das den Index des ausgewählten Option-Felds enthält. Gültigkeit ist hier 5 Tage.

    Die Funktion readCookie liest das Cookie beim Laden der Seite aus, extrahiert den gespeicherten Index und setzt im Auswahlfeld das vormals gewählte Option-Feld als "selected".
    PHP-Code:
    <html>
    <
    head>
    <
    title>Untitled</title>
    <
    script type="text/javascript">
    <!--
    function 
    setCookie(){
     var 
    datum = new Date();
     var 
    loeschen datum.getTime() - (24 60 60 1000);
     var 
    gueltig datum.getTime() + (24 60 60 1000);
     
    datum.setTime(loeschen);
     
    document.cookie="Auswahl="+document.getElementById("shop").selectedIndex+";"+"expires="+datum.toGMTString();
     
    datum.setTime(gueltig);
     
    document.cookie="Auswahl="+document.getElementById("shop").selectedIndex+";"+"expires="+datum.toGMTString();
    }
    function 
    readCookie(){
     var 
    cookie;
     var 
    selected;
     if(
    document.cookie){
      
    cookie document.cookie;
      
    selected cookie.substr(cookie.search(/=/)+1);
      
    document.forms["form1"].elements["auswahl"].selectedIndex selected;
     }
    }
    // -->
    </script>
    </
    head>
    <
    body onload="readCookie()">
    <
    form action="" method="post" name="form1" onsubmit="setCookie()">
    <
    select name="auswahl" id="shop"
     <
    option value="12900858"Shop 1 </option
     <
    option value="12900760" Shop 2 </option
     <
    option value="12900850"Shop 3 </option
     <
    option value="12900216"Shop 4 </option
     <
    option value="19000083"Shop 5 </option
    </
    select>
    <
    input type="submit" name="cmd">
    </
    form>
    </
    body>
    </
    html
    Noch was zum Nachlesen --> JavaScript Artikel: Cookies in JavaScript - HTMLWorld
    Gruß
    Günni

    Kommentar

    Lädt...
    X