javascript problem - im IE funktioniert, im FF nicht
phillip
- javascript
0 mbr0 phillip
0 Felix Riesterer2 Jonny 50 wahsaga
moin moin!
also ich habe einen kleinen login, bei dem jeweils das hintergrundbild getauscht wird, wenn man in ein input klickt (also bei onfocus und onblur).
das sieht so aus:
Code:
<input name="login" type="text" class="login" onFocus="login_bg_hide();" onBlur="login_bg_show();">
<input name="passwd" type="password" class="pass" onFocus="pass_bg_hide();" onBlur="pass_bg_show();">
hier noch die funktionen. glaub aber nicht, dass es an denen liegt:
Code:
function login_bg_show() {
if (document.getElementById('login').value == '')
{ document.getElementById('login').style.backgroundImage='url(img/username.png)'; }
else
{ document.getElementById('login').style.backgroundImage='url(img/loginfeld.png)'; }
}
function login_bg_hide() {
document.getElementById('login').style.backgroundImage='url(img/loginfeld.png)';
//alert('LOL');
}
function pass_bg_show() {
if (document.getElementById('passwd').value == '')
{ document.getElementById('passwd').style.backgroundImage='url(img/password.png)'; }
else
{ document.getElementById('passwd').style.backgroundImage='url(img/loginfeld.png)'; }
}
function pass_bg_hide() {
document.getElementById('passwd').style.backgroundImage='url(img/loginfeld.png)';
}
im internet explorer werden die funktionen aufgerufen, im ff nicht.
weiss vllt jemand wieso?
daaanke,
phillip
Hallo
Hast du schon mal unter Extras->JavascriptKonsole geschaut?
Werden dort irgendwelche Fehlermeldungen ausgegeben?
Ansonsten: wenn du vermutest, dass die Funktionen gar nicht aufgerufen werden: einfach mal ein alert("bla"); an den Anfang der Funktion stellen und testen, ob sie wirklich nicht aufgerufen werden. Ist vielleicht etwas umständlich, aber zum groben debuggen reicht es.
Liebe Grüße mbr
Hallo
Hast du schon mal unter Extras->JavascriptKonsole geschaut?
Werden dort irgendwelche Fehlermeldungen ausgegeben?
dort steht:
Fehler: document.getElementById("login") has no properties
Zeile: 306
306 ist diese zeile: document.getElementById("login").style.backgroundImage="url(img/loginfeld.png)";
Hi,
Hast du schon mal unter Extras->JavascriptKonsole geschaut?
Werden dort irgendwelche Fehlermeldungen ausgegeben?
dort steht:
Fehler: document.getElementById("login") has no properties
Zeile: 306
genau, denn es gibt ja auch kein Element mit der ID "login", deswegen liefert getElementById() null. Das hat Jonny 5 schon mit Adlerblick entdeckt.
Dass der IE ersatzweise ein Element mit dem Namen(!) anstatt der ID "login" findet, ist eigentlich ein Bug des IE.
So long,
Martin
Lieber phillip,
hast Du Javascript deaktiviert?
Teste es mit dieser Code-Zeile in der Adressleiste: javascript:alert('JavaScript aktiv!');
Liebe Grüße aus Ellwangen,
Felix Riesterer.
<input name="login" type="text" class="login" onFocus="login_bg_hide();" onBlur="login_bg_show();">
<input name="passwd" type="password" class="pass" onFocus="pass_bg_hide();" onBlur="pass_bg_show();">
weiss vllt jemand wieso?
»»...name=""...
probier mal ... id="" ... wenn du die Elemente mit
getElementById ansprichst ;o)
lG,
Jonny 5
hi,
probier mal ... id="" ... wenn du die Elemente mit
getElementById ansprichst ;o)
Oder, alternativ, wenn es nur um Formularfelder geht, schieße nicht mit DOM-2-Kanonen auf Spatzen - der Zugriff über die forms- und elements-Collections funktioniert (idR.) nach wie vor wunderbar.
gruß,
wahsaga