Der folgende Beitrag wurde am 28. 01. 2005, 10:14 Uhr von Thomas L veröffentlicht.
Hallo Forumler,
ich habe folgendes Formular:
<form name="feedback" action="/kontakt.php" method="post" enctype="multipart/form-data">
Ihre Nachricht:<br>
<textarea id="eingabe" style="width:300px;" class="inactive" onFocus="javascript:setCSSneu()" onBlur="javascript:setCSSalt()" name="eingabe" rows="6" cols="40"></textarea><br><br>
<input name="submit" class="submit" type="submit" value="Absenden">
<input name="loeschen" class="submit" type="submit" value="Daten zurücksetzen">
</form>
Hier hatte ich über
function setCSSneu() { event.srcElement.className='active'; }
function setCSSalt() { event.srcElement.className='inactive'; }
die Klassennamen geändert. Leider funzte dies nur im IE.
Somit habe ich dies probiert:
function setCSSneu() {
var active;
active = eval(document.getElementById("eingabe"));
active.style.backgroundColor = "#FFFFAA";
active.style.border = "1px dashed #AAA";
active.style.color = "#000099";
}
function setCSSalt() {
var inactive;
inactive = eval(document.getElementById("eingabe"));
inactive.style.backgroundColor = "#FFFFFF";
inactive.style.border = "1px dashed #000";
inactive.style.color = "#000000";
}
Dies scheint nun zwar zu klappen, aber geht dies vielleicht auch kürzer?
function setCSSneu() { document.getElementsByName("eingabe")[0].class = active; }
function setCSSalt() { document.getElementsByName("eingabe")[0].class = inactive; }
funzt jedenfalls nicht.
Weiß hier jemand einen Rat???
Vielen Dank schon mal für Eure aufschlussreichen Antworten und viele Grüße.
Thomas L.
Der folgende Beitrag wurde am 28. 01. 2005, 10:29 Uhr von Eternius veröffentlicht.
Hallo
>
> <textarea id="eingabe" style="width:300px;" class="inactive" onFocus="javascript:setCSSneu()" onBlur="javascript:setCSSalt()" name="eingabe" rows="6" cols="40"></textarea><br><br>
onFocus="setCSSneu();" genauso auch onblur
ich würde es fast so lösen:
<style>
.active{border:1px solid black}
.inactive{border:0}
</style>
<script>
function setCSS(me){
me.className=(me.className == 'active')?'inactive':'active';
}
</script>
<textarea onfocus="setCSS(this);" onblur="setCSS(this);"></textarea>
funktioniert mit ie und ff
--
no strict;
no warnings;
man google
Der folgende Beitrag wurde am 28. 01. 2005, 10:35 Uhr von Thomas L. veröffentlicht.
Hallo
Danke, für die prompte Antwort!
Werde es gleich mal ausprobieren.
Also noch mal vielen Dank!
Thomas L.
Der folgende Beitrag wurde am 28. 01. 2005, 10:52 Uhr von MudGuard veröffentlicht.
Hi,
> <textarea id="eingabe" style="width:300px;" class="inactive" onFocus="javascript:setCSSneu()" onBlur="javascript:setCSSalt()" name="eingabe" rows="6" cols="40"></textarea><br><br>
Schmeiß das javascript: aus den Eventhandlern raus.
> function setCSSneu() { event.srcElement.className='active'; }
> function setCSSalt() { event.srcElement.className='inactive'; }
Hier wußtest Du also noch, wie das class-Attribut angesprochen wird.
> function setCSSneu() { document.getElementsByName("eingabe")[0].class = active; }
> function setCSSalt() { document.getElementsByName("eingabe")[0].class = inactive; }
Hier weißt Du plätzlich nicht mehr, wie das class-Attribut angesprochen wird.
cu,
Andreas
--
Warum nennt sich Andreas hier MudGuard?
Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
Der folgende Beitrag wurde am 28. 01. 2005, 12:36 Uhr von Thomas L. veröffentlicht.
Hallo,
Also so hier?
<textarea id="eingabe" style="width:300px;" class="inactive" onFocus="setCSSneu()" onBlur="setCSSalt()" name="eingabe" rows="6" cols="40"></textarea>
function setCSSneu() { document.getElementsByName("eingabe")[0].className = active; }
function setCSSalt() { document.getElementsByName("eingabe")[0].className = inactive; }
Funzt aber trotzdem nicht!?
Was ist daran denn verkehrt?
Fragt sich
Thomas L.
PS: Trotzdem erst mal vielen Dank für Deine aufschlussreichen Hinweise!
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4