Korrekt maskieren?
Markus S.
- javascript
Moin!
Ich habe eine Javascript-Funkion, der ich einen String übergebe, aber irgendwie klappt das nicht.
function machWas(f){
window.setTimeout("'f'"+style.backgroundColor = 'red';",500);
}
Aufruf der Funktion:
if....machWas('MeinForm.MeinFeld1');
Ich bekomme das 'MeinForm.MeinFeld1' nicht korrekt in meinen window.setTimeoput rein. Könnte ihr mir helfen?
Markus
Hallo,
function machWas(f){
window.setTimeout("'f'"+style.backgroundColor = 'red';",500);
}
Lasse dir doch mal mit alert(f) ausgeben, was hier in f steht.
Ausserdem sieht die Stringverkettung ziemlich komisch aus. Das mit den Anfuehrungszeichen stimmt so wohl nicht.
Ich glaube du muesstest dann f.style.backgroundColor='red' schreiben, bin mir aber nicht ganz sicher wie die genaue syntax hier sein muss.
Ein Blick in die Javascript-Konsole deines Browsers zeigt dir Syntaxfehler an.
Aufruf der Funktion:
if....machWas('MeinForm.MeinFeld1');
Du uebergibst hier einen String in dem MeinForm.MeinFeld1 steht.
Wahrscheinlich willst du aber das Objekt MeinForm.MeinFeld1 uebergeben. Dazu musst du die Anfuehrungszeichen weglassen.
mfG,
steckl
Hallo steckl,
mein alert gibt MeinForm.MeinFeld1 aus. OK.
Wenn ich
window.setTimeout("MeinForm.MeinFeld1.style.backgroundColor = 'red';",500);
direkt aufrufe, klappt es auch. Es muss also irgendwas mit den Anführungszeichen zu tun haben...
hi,
if....machWas('MeinForm.MeinFeld1');
probier mal:
machWas(MeinForm.MeinFeld1.value);
oder
machWas(this.document.MeinForm.MeinFeld1.value);
wenn du nicht das value übergibst musst du oben in der funktion auf das value zugreifen. Also,
... f.value ...
Gruss,
Seppel
sorry...hatte ich falsch gelesen, dachte du wolltest nen wert übergeben und nicht die referenz auf das element.
Hello out there!
window.setTimeout("'f'"+style.backgroundColor = 'red';",500);
Zähle doch mal die Anführungszeichen. Ungerade Anzahl sollte dir verdächtig vorkommen.
Und das f willst du als String_variable_ verwenden.
window.setTimeout(f + "style.backgroundColor = 'red';", 500);
See ya up the road,
Gunnar
Die Rettung!
window.setTimeout(f + ".style.backgroundColor = 'red';", 500);
So geht´s jetzt, du hattest noch den Punkt vor style vergessen.
Merci beaucoup, Leute!!