this.name + IE erzeugt Fehler
Franz B.
- javascript
0 derletztekick0 Franz
0 Ingo Turski0 Ashura0 Ingo Turski0 Ashura
0 Cybaer
0 Franz B.0 Gernot Back
<script type="text/javascript">
function hintergrundfocus(name)
{
window.document.kontakt.eval(name).style.backgroundColor="#000000";
}
</script>
<form name="kontakt">
<input name="firma" onFocus="hintergrundfocus(this.name);"><br>
</form>
Hi,
wieso gibt der Internetexplorer bei diesem Code einen Fehler aus ? Beim Firefox geht es. Irgendwie hat der IE probleme mit dem this.name
Hallo Franz B.,
wieso gibt der Internetexplorer bei diesem Code einen Fehler aus ? Beim Firefox geht es. Irgendwie hat der IE probleme mit dem this.name
Nein, hat er nicht. Ein alert(name) hätte Dir gezeigt, das er es kann.
Versuch mal folgendes:
function hintergrundfocus(name)
{
//alert(name);
document.forms['kontakt'].elements[name].style.backgroundColor="#000000";
}
Mit freundlichem Gruß
Micha
Hallo,
es funktioniert trotzdem nicht.
Hallo Franz,
es funktioniert trotzdem nicht.
Mit freundlichem Gruß
Micha
Hi,
function hintergrundfocus(name)
name ist ein reserviertes Wort.
window.document.kontakt.eval(name).style.backgroundColor="#000000";
wozu diese unsinnige Konstruktion? Wenn Du:
<input name="firma" onFocus="hintergrundfocus(this.name);">
änderst in:
<input name="firma" onfocus="hintergrundfocus(this);">
bekommst Du eine Referenz auf das input-Element, die Du ohne Umwege nutzen kannst.
freundliche Grüße
Ingo
Hallo Ingo.
function hintergrundfocus(name)
name ist ein reserviertes Wort.
http://de.selfhtml.org/javascript/sprache/reserviert.htm#uebersicht@title=Sicher?
Einen schönen Samstag noch.
Gruß, Ashura
Hi,
name ist ein reserviertes Wort.
http://de.selfhtml.org/javascript/sprache/reserviert.htm#uebersicht@title=Sicher?
jetzt nicht mehr. ;-)
Dennoch würde ich name sicherheitshalber nicht verwenden und erst recht nicht i.V. mit eval.
freundliche Grüße
Ingo
Hallo Ingo.
Dennoch würde ich name sicherheitshalber nicht verwenden und erst recht nicht i.V. mit eval.
Einmal abgesehen davon, dass ich eval sowieso nie einsetzen würde: stimmt, beim IE weiß man nie.
Einen schönen Samstag noch.
Gruß, Ashura
Hi,
name ist ein reserviertes Wort.
http://de.selfhtml.org/javascript/sprache/reserviert.htm#uebersicht@title=Sicher?
Ja. Listehn oder her: Mit name als Variablennamen gibt es Probleme - wenn auch nicht in allen Browsern.
Gruß, Cybaer
<script type="text/javascript">
function hintergrundfocus(name)
{
window.document.kontakt.eval(name).style.backgroundColor="#000000";
}
</script><form name="kontakt">
<input name="firma" onFocus="hintergrundfocus(this.name);"><br>
</form>Hi,
wieso gibt der Internetexplorer bei diesem Code einen Fehler aus ? Beim Firefox geht es. Irgendwie hat der IE probleme mit dem this.name
Weder das eine noch das andere funktioniert.
Hallo Franz,
<script type="text/javascript">
function hintergrundfocus(name)
{
window.document.kontakt.eval(name).style.backgroundColor="#000000";
}
</script>
<form name="kontakt">
<input name="firma" onFocus="hintergrundfocus(this.name)"><br>
</form>
Bist du sicher, dass eval() eine Methode des Formularobjekts namens "kontakt" ist?
Warum überhaupt so umständlich?
<input name="firma" onFocus="[code lang=javascript]style.backgroundColor='#000000');
">[/code]
oder, wenn du das mit mehreren Input-Feldern machst eben:
<input name="firma" onFocus="[code lang=javascript]hintergrundfocus(this));
">[/code]
mit einer Funktion:
hintergrundfocus(obj) {
obj.style.backgroundColor='#000000';
}
Gruß Gernot
Hallo nochmal,
<input name="firma" onFocus="[code lang=javascript]style.backgroundColor='#000000');
">[/code]
Die schließende Klammer ist natürlich jeweils zuviel, also:
<input name="firma" onFocus="[code lang=javascript]style.backgroundColor='#000000'
">[/code]
und entsprechend:
<input name="firma" onFocus="[code lang=javascript]hintergrundfocus(this)
">[/code]
Gruß Gernot