IE zeigt Wert im Select nicht mehr an

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

  • IE zeigt Wert im Select nicht mehr an

    Hallo zusammen,

    ich habe ein Problem und weiß eigentlich nicht mal, wonach ich suchen soll, um das Problem zu lösen, von daher bitte nicht schlagen, wenn das Problem 1000 mal schon besprochen wurde.

    Das Problem: Ich habe mir ein Selectfeld gemacht, wo Preise reinkommen werden. Wenn man ein Preis ausgewählt hat, soll Links neben diesem Feld eine Checkbox aktiviert werden. Rechts neben dem Selectfeld soll der Kostenfaktor stehen.

    Das ganze habe ich auch scheinbar soweit gelöst. Im Firefox gibt es keine Probleme. Im IE eigentlich auch nicht, nur wird der Wert nicht angezeigt, den man gewählt hat. Er ist zwar markiert, wenn man das Selectfeld aufmacht, doch wird der Wert nicht angezeigt.

    Naja, das Script sagt wohl mehr, als meine Eklärung. Ich habe alles unnötige enfernt, was vorher via PHP in das Script eingefügt wird etc.:

    PHP-Code:
    <html>
      <
    head>
    <
    script language="JavaScript">
    <!--

    function 
    CheckboxenAktivieren(field,wert,zaehler)
    {
        if(
    wert 0)
        {
           
    field.checked true;
           
    document.getElementById("kosten").innerHTML "(Kosten: 13490.00 €  + 10 % vom Gewinn)";
        } else {
           
    field.checked false;
           
    document.getElementById("kosten").innerHTML "";
        }
    }
    //-->
    </script>

      </
    head>
      <
    body>

    <
    form>
    <
    input type="checkbox" name="checkbox">


    <
    select onChange="this.value=CheckboxenAktivieren(this.form.checkbox,this.value,'0');">
      <
    option value="0">0</option>
      <
    option value="1">1</option>
      <
    option value="2">2</option>
      <
    option value="3">3</option>
      <
    option value="4">4</option>
      <
    option value="5">5</option>
      <
    option value="6">6</option>
      <
    option value="7">7</option>
    </
    select>

    <
    span id="kosten"></span>

    </
    form>

    </
    div>
    </
    body>
    </
    html
    Zuletzt geändert von VeschperMojo; 15.03.2008, 13:35.

  • #2
    das problem ist das this.value.=... . damit kommt der ie nicht klar. und wozu brauchst du das überhaupt?

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Joa gute Frage. Hab mir das aus Schnipseln zusammen gebaut, da ich in Sachen Javascript noch bissle lernen muss. Scheinbar ist es in dem Fall unnütz und ohne geht es wunderbar.

      Thx.

      Kommentar


      • #4
        du solltest bei formularen sowieso immer immer allen elementen einen namen geben und dann über den darauf zugreifen. also z.b.
        PHP-Code:
        <form name="bla"...>
          <
        input type="text" name="blubb" />
        </
        form>
        ...
        document.bla.blubb.value 'laber'
        gruß
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Seit XHTML 1.0 Strict ist das name-Attribut für FORM-Elemente aber nicht mehr erlaubt. Wenn du Formularelemente gezielt ansprechen willst, bietet sich eine ID sowieso eher an.

          Kommentar


          • #6
            So ein Quatsch ... das name Attribute ist als deprecated gekennzeichnet ... und wird in einer der nächsten Versionen entfernt werden.

            Original:
            Note that in XHTML 1.0, the name attribute of these elements is formally deprecated, and will be removed in a subsequent version of XHTML.
            4.10. The elements with 'id' and 'name' attributes
            carpe noctem

            [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
            [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

            Kommentar


            • #7
              Ja und Elemente und Attribute, die als Deprecated gekennzeichnet sind, kommen nicht mehr durch den Validator.
              Dass es noch nicht vollständig entfernt ist heißt lediglich, dass es noch funktioniert, aber nicht mehr verwendet werden soll, ferner dass das Dokument dann aber nicht mehr valide ist.
              Deprecated haißt ja auch "missbilligt" oder "abgelehnt" und nicht etwa "alt, aber noch gültig".

              Edit: vielleicht habe ich das ein wenig unglücklich ausgedrückt. Ich setze deprecated nicht mir nicht existent synonym. Aber wer ein valides Dokument haben will, dem ist beides nicht erlaubt: nicht existente Elemente/Attribute und welche, die als deprecated eingestuft sind.
              Zuletzt geändert von Manko10; 16.03.2008, 15:01.

              Kommentar


              • #8
                Ja und Elemente und Attribute, die als Deprecated gekennzeichnet sind, kommen nicht mehr durch den Validator.
                dann kann das name attribut für ein formular aber nicht dazu gehören. habe es gerade mal getestet und der w3c-validator hat nicht rumgemosert.

                außerdem standard hin, standard her. was nützen mir standards, wenn die browser nicht mitspielen? bei document.formularname. usw. weiß ich, dass es funktioniert. bei der sache mit der id bin ich einmal so richtig schön auf die fresse gefallen, weil der ie6 irgendwo rumzickte.

                gruß
                peter
                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                Meine Seite

                Kommentar


                • #9
                  Dann hast du wohl XHTML 1.0 Transitional benutzt und nicht wie ich geschrieben habe XHTML 1.0 Strict.
                  Folgendes Skript produziert einen dicken Fehler:
                  Code:
                  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                  <html xmlns="http://www.w3.org/1999/xhtml">
                  <head>
                      <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
                      <title>Bla</title>
                  </head>
                  <body>
                      <div id="wrapper">
                          <form action="" method="post" name="mein_formular">
                              <div>
                                  <label for="abc">Bitte etwas eingeben:</label>
                                  <input type="text" name="abc" id="abc" value="blub" /><br />
                                  <input type="submit" name="submit" value="Senden" />
                              </div>
                          </form>
                      </div>
                  </body>
                  </html>
                  Und was die IDs angeht: mit denen hatte ich bisher weniger Probleme als mit NAMEs.
                  Gut, der IE hat mit DOM-Funktionen wie hasAttribute(), getAttribute() etc. so seine Macken, aber document.getElementById("abc"); wird von jedem gängigen Browser unterstützt (einschließlich IE).

                  Gruß
                  Janek
                  Zuletzt geändert von Manko10; 16.03.2008, 16:39.

                  Kommentar


                  • #10
                    Dann hast du wohl XHTML 1.0 Transitional benutzt
                    stimmt, übersehen. mit strict habe ich noch nicht gearbeitet, wegen der target="_blank"-geschichte.
                    aber document.getElementById("abc"); wird von jedem gängigen Browser unterstützt (einschließlich IE).
                    ich meinte hier komplexe manipulationen über das dom. da hatte ich mal fürchterliche probleme mit dem ie (und opera glaub ich auch), wenn ich mit getElementByiD gearbeitet habe.

                    gruß
                    peter
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Kommentar


                    • #11
                      Ja, davon kann ich auch ein Lied singen. IE und DOM und Opera und JavaScript. :P

                      Aber ich denke, das führt jetzt zu weit vom Thema weg.

                      // edit
                      Achja: was target="_blank" angeht, so habe ich mich davon mittlerweile entfernt. Neue Fenster sind meist eher nervig und wenn man unbedingt eines braucht, kann man das auch per JavaScript machen:
                      Code:
                      <a href="http://example.com" onclick="window.open(this.href, '_blank'); return false;">example.com</a>
                      Zuletzt geändert von Manko10; 16.03.2008, 16:57.

                      Kommentar


                      • #12
                        Sehe ich trotzdem anders ... und würde das als einen Fehler im Validator interpretieren. Ein Attribut was als "abgeschrieben" so die Google übersetzung deklariert ist, aber noch Bestandteil der Spezifikation ist kann von meinetwegen eine Warnung, nicht jedoch einen Fehler erzeugen.

                        Die Nutzung meines abgeschriebenen Computers in der Firma erzeugt ja auch nicht automatisch einen Fehler.

                        Ich persönlich verwende name Attribute in Formularen allerdings seit Jahren nicht mehr.
                        carpe noctem

                        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                        Kommentar


                        • #13
                          Naja, ich kann den Vergleich von einem Firmen-PC mit Webstandards nicht ganz nachvollziehen. .
                          Aber letztendlich ist es mir auch egal, ob deprecated oder nicht mehr vorhanden (in XHTML 1.0 Transitional ist es, denke ich, deprecated - in der Strict-Variante schon ganz abgeschafft). Ich benutze beides nicht.
                          Bisher habe ich mich immer strikt an Webstandards gehalten und benutze XHTML 1.0 Strict. Alles ohne Probleme. Und letztendlich habe ich das name-Attribut eines Formulars auch noch nie benötigt.
                          Bei SelfHTML in der Attribut-Referenz steht auch folgendes:
                          name - #CDATA - Erlaubt in den Varianten Seite Strict, Transitional, Frameset (nicht in XHTML 1.0 Strict)
                          Wobei SelfHTML ja sonst nicht allzuviel mit Webstandards zu tun hat und ich denke, dass die das auch nur vom Validator oder von einer anderen W3C-Seite haben.

                          Das name-Attribut in Formularelementen benötige ich natürlich weiterhin - aber die sind auch allesamt erlaubt.

                          Kommentar

                          Lädt...
                          X