select onchange

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • select onchange

    Hi

    Ich weiss dieses Thema ist schon oft besprochen worden, doch ich hab auch nach 2 Tagen suche im Net ( Google, div. Foren, usw. ) immer noch mein Problem mit select und onchange.

    Eigentlich will ich das beim Ändern des Selects eine Funktion ausgeführt wird.

    Hier mein Code :

    PHP Code:
    echo "<select name=Test onchange=eval(this.options[this.selectedIndex].value)>";
    echo 
    "<option value=false selected>Wähle eine Platzierung</option>"
    dann kommen meine Datenbankfunktionen
    (Auslesen der Werte für die Options)
    In einer Schleife werden dann die Optionswerte wie folgt eingetragen :

    PHP Code:
    echo "<option value=Funktion($var1$var2$var3)>Platz $Count</option>"
    Im Prinzip erscheint im Browser alles in Ordnung, doch sobald ich den Wert ändere, bekomme ich "Fehler auf dieser Seite"
    Und die Details dazu melden mir das in der Funktion welche ich aufrufe eine Klammer fehlt. Jedoch ist momentan in der Funktion nur dieser Aufruf :

    PHP Code:
    function Funktion($var1$var2$var3)
    {
                  echo 
    "Variable1 = " $var1;

    Hat jemand eine Ahnung woran das liegen kann ?

    lg.

  • #2
    Re: select onchange

    was soll das eval() im onChange? schwachfug, schmeiss es raus.
    rufe stattdessen ordentlich eine funktion auf, die dann anhand des wertes entscheidet, was zu tun ist, und ggf. weitere funktionen aufruft.

    PHP Code:
    echo "<option value=Funktion($var1$var2$var3)>Platz $Count</option>";

    function 
    Funktion($var1$var2$var3)
    {
                  echo 
    "Variable1 = " $var1;

    das ist so ziemlich die schlechteste mögliche art, eine funktion aufzurufen.
    - trenne den string an der stelle, wo der funktionsaufruf erfolgt, ordentlich auf.
    - lasse deine funktion keine ausgabe mit echo machen, sondern per return einen string zurückgeben.

    und überleg dir mal, was für einen unsinn dein funktionsaufruf an dieser stelle erzeugt:

    <option value=Variable1 = (wert von $var1)>Platz xy</option>

    na, wo ist der wert des value-attributes da beendet?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Comment


    • #3
      Danke für die Info, aber wie soll nun das onchange Event ausschauen ?

      lg.

      Comment


      • #4
        Original geschrieben von Brainworxs
        aber wie soll nun das onchange Event ausschauen ?
        einen einfachen funktionsaufruf in javascript wirst du doch wohl noch hinkriegen, oder?
        und was die funktion dann machen soll, sagte ich ja bereits.

        und zum lernen von javascript (dieser schritt sollte normalerweise erfolgen, bevor man es einsetzt) geht's hier lang: http://selfhtml.teamone.de/javascript/
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Comment

        Working...
        X