JavaScript Funktion im IE

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

  • JavaScript Funktion im IE

    hallo,

    ich habe ein JavaScript Funktion die das Land eines Formulars überprüft. Wenn das Land in der EU ist wird ein neues Feld im Formular angezeigt. Das funktioert auch wunderbar, aber leider nur im Firefox, Opera und Netscape aber nicht im IE.

    hier mal die Funktion:
    PHP-Code:
    function land(id)
      {
          elem = document.getElementById(id).value;
          element = document.getElementById("ust_id").style;
          <?
            $laender_europa = array('Albanien','Andorra','Armenien','Belgien','Bosnien-Herzegowina','Bulgarien','D&auml;nemark',
                                  'Deutschland','Estland','Far&ouml;er','Finnland','Frankreich','Georgien','Griechenland',
                                  'Gro&szlig;britanien','Irland','Island','Italien','Kroatien','Lettland','Liechtenstein',
                                  'Litauen','Luxemburg','Malta','Mazedonien','Moldawien','Niederlande','Norwegen','&Ouml;sterreich',
                                  'Polen','Portugal','Restjugoslawien','Rum&auml;nien','Ru&szlig;land','San Marino','Schweden',
                                  'Schweiz','Spanien','Slowakei','Slowenien','Tschechien','T&uuml;rkei','Ukraine','Ungarn',
                                  'Vatikan','Wei&szlig;ru&szlig;land','Zypern');
        ?>
          if(elem == "Belgien" || elem == "Dänemark" || elem == "Deutschland" || elem == "Estland" || elem == "Griechenland" || 
                    elem == "Finnland" || elem == "Frankreich" || elem == "Irland" || elem == "Italien" || elem == "Lettland" || 
                    elem == "Litauen" || elem == "Luxemburg" || elem == "Malta" || elem == "Niederlande" || elem == "Österreich" || 
                    elem == "Polen" || elem == "Portugal" || elem == "Schweden" || elem == "Slowakei" || elem == "Slowenien" || 
                    elem == "Spanien" || elem == "Tschechien" || elem == "Ungarn" || elem == "Großbritanien" || elem == "Zypern")
                 {
                      var eu = 1;
                 }
          
          
          if(eu == 1)
          {
            element.visibility = "visible";
            element.display = "table-row";
          }
          
          if(eu != 1)
          {
              element.visibility = "hidden";
            element.display = "none";
          }
          
        
      }
    und hier der ausschnitt im formular
    PHP-Code:
    <tr bgcolor="#E1E1E1" id="ust_id"';
                           if (empty($is_eu)) echo ' 
    style="display:none;visibility:hidden;">';
                            
                            echo '
    <td align="left" width="140"><b>&raquoUst-ID:</b></td>
    <
    td><input type="text" name="reg_ust" value="' . $_POST['reg_ust'] . '" id="reg_ust onfocus="
    on_focus(\'#F6F6F6\', \'reg_ust\')" onblur="on_focus(\'#FFFFFF\', \'reg_ust\')" class="textfelder_gross"></td>
    </tr> 
    im IE hat er irgendein Problem an dieser Stelle
    PHP-Code:
    if(eu == 1)
          {
            
    element.visibility "visible";
            
    element.display "table-row";
          } 
    er geht hier nicht rein. wenn ich ein alert rein setzte gibt er es nicht aus, wech ich die abfrage leere und nur das alert rein setze gibt es das alert?!
    hat jemand eine idee woran das liegen könnte

    Gruß
    Tim

  • #2
    Das Feld hat kein Style Attribut, welches der IE verändern soll.
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      ich habe das jetzt hinzugefügt

      PHP-Code:
      <tr bgcolor="#E1E1E1" id="ust_id" style="display:none;visibility:hidden;">
      <
      td align="left" width="140"><b>&raquoUst-ID:</b></td>
      <
      td><input type="text" name="reg_ust" value="' . $_POST['reg_ust'] . '" id="reg_ust 
      onfocus="
      on_focus(\'#F6F6F6\', \'reg_ust\')" onblur="on_focus(\'#FFFFFF\', \'reg_ust\')" class="textfelder_gross"></td>
      </tr> 
      es geht aber leider immer noch nicht.

      Kommentar


      • #4
        ich sehe eine Class, aber kein Style ... Wenn Due die Werte einer Class verändern willst, wird das so nix
        h.a.n.d.
        Schmalle

        http://impressed.by
        http://blog.schmalenberger.it



        Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
        ... nur ohne :-)

        Kommentar


        • #5
          Original geschrieben von schmalle
          Das Feld hat kein Style Attribut, welches der IE verändern soll.
          das sollte eigentlich irrelevant sein.

          style-angaben kannst du per javascript immer setzen - nur das auslesen funktioniert halt nur, wenn sie vorher auch explizit gesetzt wurden.


          außerdem scheint das problem ja woanders zu liegen, wenn er laut kontrollausgabe gar nicht in den anweisungsteil der if-abfrage reingeht.


          meine vermutung: der IE könnte hier
          Code:
          if(elem == "Belgien" || elem == "Dänemark" ...)
                       {
                            var eu = 1;
                       }
          eu evtl. als lokale variable ansehen, die nur innerhalb dieses anweisungsblockes gültig ist - und deshalb in der nachfolgenden abfrage gar nicht mehr bekannt ist.

          probiere bitte mal, hier das schlüsselwort var wegzulassen (und ggf. die variable noch vorher außerhalb des IFs zu initialisieren/anzulegen).
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            ich möchte die Zeile sichbar machen, also von
            PHP-Code:
            style="display:none;visibility:hidden;" 
            in
            PHP-Code:
            style="display:table-row;visibility:visible;" 
            mich wundert es ja nur warum es in Firefox, Opera und Netscape geht, aber im IE nicht.

            Kommentar


            • #7
              http://www.css4you.de/display.html

              Kommentar


              • #8
                ahh danke asp2php, der IE unterstützt also den table-row befehl nicht!
                naja kann man nix machen

                danke trozdem
                gruß
                Tim

                Kommentar

                Lädt...
                X