onChange geht nicht immer Firefox

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

  • onChange geht nicht immer Firefox

    hi, ich habe hier ein Problem mit der onChange Funktion im Firefox. Hier mal mein Skript:

    PHP-Code:
    <select name="select_testmuster" onChange="change(\'select_testmuster\',\'testmuster\');">
                
                <
    option value="false">.. Bitte wählen</option>';
               
                foreach($arr_testmuster AS $t)
                {
                  echo '
    <option value="' . $t['ID'] . '"'; select_status($_GET['testmuster'],$t['ID']); echo '>
    ' . $t['name'] . ' (' . $t['typ'] . 'von ' . $t['redakteur'] . '</option>';    
                }
               
               echo '
               
    </select
    und das dazugehörige JavaScript:

    PHP-Code:
    function change(name,id)
      {
        var layout = "<? echo $_GET['layout']; ?>";
           var wert = document.getElementById(name).value;
           window.location.href = "index.php?layout="+layout+"&"+id+"="+wert;
      }
    Kann mit jemand sagen warum das ganze nicht im Firefox, sondern nur im IE funktioniert?

    Danke für die Hilfe
    Gruß
    Tim
    Zuletzt geändert von SOB22; 16.06.2005, 16:18.

  • #2
    Re: onChange geht nicht immer Firefox

    zeig mir bitte mal dein element mit der ID "select_testmuster", auf das du da zugreifen möchtest.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Entweder irre ich mich oder du versuchst über getElementById das Element anzusprechen, obwohl du ihm nur ein Attribut 'name' verpasst hast. Also entweder folgendes versuchen:
      Code:
      <select name="select_testmuster" [COLOR=crimson]id="select_testmuster"[/COLOR]
       onChange="change('select_testmuster','testmuster');">
      oder Objektbaum und Name in deiner Funktion direkt ansprechen
      Code:
      var path = eval("document.formular_name." + name);
      var wert = path.value;
      Das selbe Problem hatte ich auch schon mal gehabt. Seitdem ich es aber mittels der als zweites genannten Möglichkeit mache, habe ich keine Probleme mehr damit.

      Kommentar


      • #4
        @wahsaga
        ich bin einfach zu langsam.

        Kommentar


        • #5
          Original geschrieben von richtsteiger
          Code:
          var path = eval("document.formular_name." + name);
          das ist aber pfui bah - eval is evil, und hier absolut unnötig.

          das elements-objekt existiert, nutze es!

          document.formularname.elements["feldname"]

          http://de.selfhtml.org/javascript/ob...tm#allgemeines
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            @wahsaga
            hast ja recht (im Boden versink). Werds mir merken. Bestimmt !

            Würd mich aber mal interessieren, ob's jetzt geht. So mit onChange.

            Kommentar


            • #7
              man könnte ja auch einfach "this" übergeben....

              PHP-Code:
              <select name="select_testmuster" onChange="JavaScript: change(this,'testmuster');"
              Komisch, das forum macht auch "JavaScript" "java script".....

              Kommentar


              • #8
                Wobei das dann eher so sein sollte - weil du ja den Wert der ausgewählt wurde mit an die nächste url übergeben willst - und nicht die selectbox...

                PHP-Code:
                <select name="select_testmuster" onChange="JavaScript: change(this.value, 'testmuster');">
                            
                            <
                option value="false">.. Bitte wählen</option>';
                           
                            foreach($arr_testmuster AS $t)
                            {
                              echo '
                <option value="' . $t['ID'] . '"'; select_status($_GET['testmuster'],$t['ID']); 
                echo '
                >' . $t['name'] . ' (' . $t['typ'] . 'von ' . $t['redakteur'] . '</option>';    

                            }
                           
                           echo '
                           
                </select
                und das JavaScript dazu:

                Code:
                function change(wert, id)
                  {
                    var layout = "<? echo $_GET['layout']; ?>";
                       window.location.href = "index.php?layout="+layout+"&"+id+"="+wert;
                  }

                Kommentar


                • #9
                  @prego

                  1. mit this.value bekommst du nichts
                  2. was hat denn javascript: im Enventhandler zu suchen?

                  Kommentar


                  • #10
                    @asp2php

                    zu 2.
                    Oh, ich dachte das wäre "richtiger"

                    zu 1.
                    Ich glaube schon:
                    http://www.triebschicht.de/spielwiese/onchange.html

                    Kommentar


                    • #11
                      <select name="select_testmuster" id="select_testmuster" onChange="change('select_testmuster','testmuster');">
                      ich habe das jetzt mal ausprobiert und es funktioniert wunderbar. Danke für eure Hilfe.

                      Gruß
                      Tim

                      Kommentar


                      • #12
                        Wie gesagt, mit "this" hast du den ganzen DOM Kram nicht am Hut und kannst einfach das Object übergeben - aber jeder wie er will.

                        Kommentar

                        Lädt...
                        X