Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
JavaScript Funktion im IE [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
JavaScript Funktion im IE


 
SOB22
27-09-2004, 14:47 
 
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:

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

<tr bgcolor="#E1E1E1" id="ust_id"';
if (empty($is_eu)) echo ' style="display:none;visibility:hidden;">';

echo '
<td align="left" width="140"><b>&raquo; Ust-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

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

 
schmalle
27-09-2004, 14:51 
 
Das Feld hat kein Style Attribut, welches der IE verändern soll.

 
SOB22
27-09-2004, 15:05 
 
ich habe das jetzt hinzugefügt


<tr bgcolor="#E1E1E1" id="ust_id" style="display:none;visibility:hidden;">
<td align="left" width="140"><b>&raquo; Ust-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.

 
schmalle
27-09-2004, 15:17 
 
ich sehe eine Class, aber kein Style ... Wenn Due die Werte einer Class verändern willst, wird das so nix

 
wahsaga
27-09-2004, 15:32 
 
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
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).

 
SOB22
27-09-2004, 15:33 
 
ich möchte die Zeile sichbar machen, also von style="display:none;visibility:hidden;"
in style="display:table-row;visibility:visible;"

mich wundert es ja nur warum es in Firefox, Opera und Netscape geht, aber im IE nicht.

 
asp2php
27-09-2004, 15:40 
 
http://www.css4you.de/display.html

 
SOB22
27-09-2004, 15:48 
 
ahh danke asp2php, der IE unterstützt also den table-row befehl nicht!
naja kann man nix machen

danke trozdem
gruß
Tim

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:30 Uhr.