<option> onCLick : Mozilla/Netscape funzt, IE nicht

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

  • <option> onCLick : Mozilla/Netscape funzt, IE nicht

    Hi, folgender Aufbau:

    PHP-Code:
    IFrame für Vorschau: <iframe src="anzeige/leer.htm" name="vorschau" width="640" height="480" >

            
    Ihr Browser kann keine Frames anzeigen!!!
          </
    iframe>
    <
    select name='page' size='27'>
    <
    option value='289' 
    onClick="vorschau.location.href='http://www.xxx.de/vs_de/zub/agricon/index.htm'">
    Agricon-Logistic
    </option>

    <
    option value='296' 
    onClick="vorschau.location.href ='http://www.xxx.de/vs_de/zub/ak/akpage1.htm'">
    AK-Fahrzeuge GmbH
    </option>
    </
    select
    Im Mozilla/Firefox/netscape funzt das, im IE nicht

    weiss einer warum ?

    edit: der IE scheint onCLick nur im select tag auszulösen, im option nicht...
    Zuletzt geändert von MaxP0W3R; 25.10.2004, 08:50.


    An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

  • #2
    Füge mal ein

    Code:
    id = "vorschau"
    im Iframe-Tag hinzu.

    Kommentar


    • #3
      Hi,

      thx, aber es scheint daran zu liegen, dass das onClick Ereignis erst gar nicht ausgelöst wird...

      Habs mit id probiert, hat aber auch nicht funktioniert.


      An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

      Kommentar


      • #4
        Ach sooo, das ist ein Optionfeld.... (Es ist noch zu früh am Morgen)

        Events bei Auswahlfeldern mußt Du im Select-Tag definieren, mit onChange. Dann mußt Du allerdings den SelectedIndex (oder wie das hieß) des Auswahlfelds erfragen und dann abhängig vom Ergebnis die Aktion ausführen. Beispiele gibts im Netz.

        Kommentar


        • #5
          was mach ich aber, wenn mehrere markiert werden sollen, wie bekomme ich den zuletzt markierten wert ?

          weil wenn das nich geht, müsste ich das umbauen ohne ende...

          problem is, dass onChange nen anderen Wert hat (eine URL) als value vom option(is ne id)
          Zuletzt geändert von MaxP0W3R; 25.10.2004, 09:03.


          An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

          Kommentar


          • #6
            zuletzt = der unterste markierte wert?

            zuletzt = der wert, der bei einer mehrfachselektion als letzter ausgewählt wurde?


            du musst im prinzip in beiden fällen alle einträge durchgehen und schauen ob sie markiert sind

            an den letzten (untersten) eintrag kommst du dann so relativ problemlos

            wenn du den zuletzt ausgewählten haben willst, musst du die momentane auswahl mit der auswahl vorher vergleichen und die beiden voneinander abziehen
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Hm! Also soweit ich weiß, interpretiert IE überhaupt keine Events bei den einzelnen OPTIONs.

              Workaround-Vorschlag: Bei jedem OnChange speicherst Du eine Liste der markierten Elemente und vergleichst sie mit der vorherigen Liste. So findest Du das (zeitlich, nicht in der Reihenfolge) zuletzt markierte Element. Ist auch Arbeit, aber nicht sooo viel.

              EDIT:

              Happy war schneller!

              Kommentar


              • #8
                zuletzt = der wert, der bei einer mehrfachselektion als letzter ausgewählt wurde?
                ja, dieses "zuletzt"

                d.h. ich mus wegen dem IE den Code komplett umschreiben

                Das onClick war so herrlich einfach, jetzt muss ich ne Funktion schreiben, die aus einer ID ne URL macht, und dazu noch den aktuellen Zustand mit dem alten vergleicht und dann die richtige URL für den iFrame setzt

                Ohe, das wird kein lustiger Montag morgen, gerade wo ich so ein Javascript-"Freak" bin

                Wird zeit fürs Wochenende


                An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

                Kommentar


                • #9
                  @pekka
                  ällabätsch

                  @max
                  so schwer isses ja nun auch wieder nicht, die werte für die einzelnen einträge kommen ja wahrscheinlich von php. also kannst du ja relativ bequem schonmal ein js-array erstellen mit der zuordnung von id zu url

                  das einzige was evtl. knifflig wird, ist:

                  einträge 1, 3, 4, 2 werden selektiert, du zeigst also eintrag 2 an

                  der benutzer kann jetzt eintrag 6 selektieren, also einen neu anzuzeigenden

                  der benutzer kann jetzt eintrag 3 "deselektieren", was du zwar speichern musst, aber du darfst die anzeige nicht ändern

                  der benutzer kann jetzt eintrag 2 "deselektieren", was du speichern musst und dann musst du eintrag 4 anzeigen

                  mehr fälle fallen mir so spontan nicht ein
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    ich schlage vor: du erstellst am Anfang eine leere select-Liste in einer ausgeblendeten div und übernimmst beim selected die Einträge rüber, bei De-Selektion entsprechend entfernen, somit hast du die selected-Liste. Dann kannst du bei jedem Select vergleichen. Etwa so
                    Code:
                    <iframe src="http://www.yahoo.de" name="vorschau" width="640" 
                    height="480" marginheight="0" marginwidth="0" align="left">
                    
                            Ihr Browser kann keine Frames anzeigen!!!
                          </iframe>
                    <script type="text/javascript">
                    function fill_test() {
                    // neuer Wert in test hinzufügen oder entfernen 
                    show_in_frame(die_akt_sel_url);
                    }
                    function show_in_frames(url) {
                    vorschau.location.href=url;
                    }
                    </script>
                    
                    <select name='page' size='27' multiple onClick="fill_test();">
                    <option value='123|[url]http://www.....[/url]'>bla</option>
                    <option value='456|[url]http://www...../[/url]'>blabla</option>
                    </select>
                    <div style="display:none">
                    <select name="test">
                    </select>
                    </div>
                    Die Werte in Option-Value mußt du in der Funktion noch trennen, um an die URL ran zu kommen. Beim Senden des Forms wertest du nur test aus, dann hast du deine selektierte Liste.

                    Kommentar


                    • #11
                      Hi, ich habe das Problem umgangen

                      ich hab einerseits obige Struktur für Seiten, wo ich genau eine Option auswählen kann, und hab dann in value = "url?id" und trenne dann auf der Empfängerseite das ganze auf, sofunzt einerseits die Vorschau im IFrame und andererseits wird trotzdem die ID mitübergeben,

                      FÜr merhfachauswahl habe ich jetzt die Formulargruppierungstags genommen:

                      <fieldset>


                      Schön alles stukturiert, immer schön checkbox mit label und alles sauber sortiert, und als Vorschau ein iframe, das immer mitscrollt und auf der rechten seite am bildschirmrand ist (da war eh immer alles frei), das funktioniert super

                      trotzdem thx für die vorschläge, hab mal wieder was über Javascript gelernt...


                      An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

                      Kommentar

                      Lädt...
                      X