javascript checkbox



  • hallo.

    Ich habe eine Checkbox programmiert, welche mir alle User in der DB anzeigt, dies sieht so aus:

    echo '<br><br>';
        echo '<form name="Formular">
              <select name="Ziel" onchange="QuickJump(this.form);">';
    
               // $ql = 'SELECT Nickname FROM benutzerdaten WHERE Id='.'"'.$i.'"';
                $select = 'SELECT Nickname FROM benutzerdaten';
                $result = mysql_query($select);
                while($array = mysql_fetch_assoc($result))
                {
                  echo '<option value="" selected>'.$array['Nickname'].'</option>';
                }
    
        echo '
              </select>
              </form>';
    

    Ich will nun eine Ausgabe die so aussieht:
    Sie haben gewählt: "Der User der in der Checkbox angeklickt ist".
    Wie kann ich dies durchfürhren?

    Danke für die Hilfe



  • P.S.

    Der JavaScript Code zu dem DropDown sieht so aus:

    <script language="JavaScript">
    <!--
    function QuickJump(Formular)
    {
        var Element = Formular.Ziel.selectedIndex;
    
        if (Formular.Ziel.options[Element].value != 0)
        {
            location = Formular.Ziel.options[Element].value;
        }   
    }
    //-->
    </script>
    


  • Hallo,

    1. gib dem select-Tag eine id
    2. pack den Namen auch in das value-Attribut rein (escapen nicht vergessen!), dann kannst du per Javascript mit
    3. das select-Tag ermittelst du mit:

    var element = document.getElementById("formId");
    

    4. den Index des momentan gewählten option-Tags ermittelst du mit:

    var index = element.selectedIndex;
    

    5. den Inhalt (value-Attribut) des momentan gewählten option-Tags ermittelst du mit:

    element.options[index].value
    

    EDIT:
    Naja, dein Ansatz ist dann ja bereits da. Woran hakt es denn? Abgesehen davon, dass das value-Attribut in deinem PHP-Code immer leer ist.



  • Hallo,

    Ich bin nicht wirklich so gut in JavaScript, kannst du mir mal den Code zeigen, wie das etwas auszusehen hat?

    lg



  • Einfach value mal mit Inhalt füllen:

    echo '<option value="'.addslashes($array['Nickname']).'" selected>'.$array['Nickname'].'</option>';
    


  • @LeGaN: addslashes() ist hier eigentlich Fehl am Platze. Es ist nicht erlaubt, in einem HTML-Attribut die (doppelten) Hochkommata zu escapen. Beim ersten Anführungszeichen ist das Attribut somit beendet. Was gebraucht ist, ist vielmehr htmlspecialchars()/htmlentities() 😉



  • árn[y]ék schrieb:

    @LeGaN: addslashes() ist hier eigentlich Fehl am Platze. Es ist nicht erlaubt, in einem HTML-Attribut die (doppelten) Hochkommata zu escapen. Beim ersten Anführungszeichen ist das Attribut somit beendet. Was gebraucht ist, ist vielmehr htmlspecialchars()/htmlentities() 😉

    Ups, klar. Danke, ich war wohl in Gedanken noch bei ner SQL-Abfrage 😃


Anmelden zum Antworten