validation error - javascript textarea onKeyDown
tiggerle
- html
Hallo,
ich bin bemüht um sauberen code, allerdings noch nicht so erfahren in xhtml wie in html. daher bin ich nun verwundert, wie ich das "korrekt" hinbekomme:
<form>
[...]
<textarea class="pictextstr" name="pictext_str" rows="" cols="" wrap="physical" onKeyDown="textCounter(this.form.pictext_str,this.form.remLen,50,this.form.pictext);" onKeyUp="textCounter(this.form.pictext_str,this.form.remLen,50,this.form.pictext);"></textarea>
[...]
</form>
erstmal gibt es "wrap" eigentlich nicht ... aber gut, verzichten kann ich wohl auch nicht drauf, weil sonst wird ja der text nicht automatisch umgebrochen in FF/IE...
aber was nun tun mit dem fehler:
there is no attribute "onKeyDown".
Gibt es eine "richtige" Möglichkeit, js hier einzubauen? der text, der in die textarea eingegeben wird, soll automatisch in ein anderes feld dupliziert werden ...
besten dank für eure ratschläge!
Hallo tiggerle,
there is no attribute "onKeyDown".
schon mal onkeydown probiert? Oder noch besser, den Handler per Javascript gesetzt?
Gruß, Jürgen
schon mal onkeydown probiert? Oder noch besser, den Handler per Javascript gesetzt?
danke für den hinweis, das wars!
bin mit javascript nicht so bewandert ... wie würde das aussehen, was du meinst?
danke!
Hallo tiggerle,
schon mal onkeydown probiert? Oder noch besser, den Handler per Javascript gesetzt?
danke für den hinweis, das wars!
bin mit javascript nicht so bewandert ... wie würde das aussehen, was du meinst?
du verschaffst dir über eine der getElement(s)By-Methoden Zugriff auf das HTML-Element und setzt dann den Handler über ...onxxx=Handlername_ohne_Klammern. Da das Element erst nach dem Laden der Seite verfügbar ist, machst du das im onload-Handler des Dokuments:
Im Scriptteil im Head oder auch in einer externen JS-Datei steht dann u.A.
var keyhandler = function() {
alert(this.value);
}
window.onload = function() {
document.getElementById("X").onkeydown = keyhandler;
}
und im body:
<textarea cols="100" rows="10" id="X"></textarea>
Gruß, Jürgen
Hi,
erstmal gibt es "wrap" eigentlich nicht ... aber gut, verzichten kann ich wohl auch nicht drauf, weil sonst wird ja der text nicht automatisch umgebrochen in FF/IE...
Wie meinen?
Die meisten Formulare, die ich kenne, verwenden kein wrap-Attribut, und haben trotzdem keine Probleme mit Umbruechen.
aber was nun tun mit dem fehler:
there is no attribute "onKeyDown".Gibt es eine "richtige" Möglichkeit, js hier einzubauen?
Ja, klein schreiben.
Oder vielleicht besser noch den Eventhandler einfach "unobstrusive" per Script hinzufuegen.
MfG ChrisB
Hi,
<textarea class="pictextstr" name="pictext_str" rows="" cols="" wrap="physical" onKeyDown="textCounter(this.form.pictext_str,this.form.remLen,50,this.form.pictext);" onKeyUp="textCounter(this.form.pictext_str,this.form.remLen,50,this.form.pictext);"></textarea>
hältst du es für eine gute Idee, rows und cols leer anzugeben, nur damit der Validator befriedigt ist? Die Angaben haben ja durchaus ihren Sinn!
erstmal gibt es "wrap" eigentlich nicht ... aber gut, verzichten kann ich wohl auch nicht drauf, weil sonst wird ja der text nicht automatisch umgebrochen in FF/IE...
Wie bitte? Der automatische Umbruch in textarea ist eigentlich das übliche Verhalten. Nur Netscape 4.x hatte da AFAIK eine eigene Auffassung.
aber was nun tun mit dem fehler:
there is no attribute "onKeyDown".
Stimmt. Das Attribut heißt auch onkeydown.
Ciao,
Martin
Wie bitte? Der automatische Umbruch in textarea ist eigentlich das übliche Verhalten. Nur Netscape 4.x hatte da AFAIK eine eigene Auffassung.
nimm doch mal den(auch neuesten) FF und probiers aus. und wrap gehts nicht.
danke für die lösung mit dem kleinschreiben. xhtml! alles klein, ja klar :)
zB
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de-de" lang="de-de" >
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15" />
<meta name="robots" content="index, follow" />
<title>test</title>
<style type="text/css">
<!--
.css{
border: 1px solid black;
background:none;
font-family: verdana, georgia, tahoma, arial, sans-serif;
font-size: 11pt;
color: black;
font-weight: bold;
overflow:hidden;
width: 185px;
height: 40px;
}
-->
</style>
<head>
</head>
<body>
<textarea name="pictext" class="css" rows="" cols="" ></textarea>
</body>
</html>
Hi,
Wie bitte? Der automatische Umbruch in textarea ist eigentlich das übliche Verhalten. Nur Netscape 4.x hatte da AFAIK eine eigene Auffassung.
nimm doch mal den(auch neuesten) FF und probiers aus. und wrap gehts nicht.
Was geht da nicht?
Das automatisch Zeilenumbrueche in den beim Absenden uebermittelten Inhalt der Textarea eingefuegt werden, dort wo er bei der Anzeige visuell umgebrochen wird?
So ein Verhalten ist doch in aller Regel gar nicht gewollt, weil es eigentlich reichlich unpraktisch ist.
Wofuer willst du das denn haben?
MfG ChrisB
Das automatisch Zeilenumbrueche in den beim Absenden uebermittelten Inhalt der Textarea eingefuegt werden, dort wo er bei der Anzeige visuell umgebrochen wird?
also mein browserproblem gibts nicht, ist wie so oft ein fehler bei mir gewesen :)
was ich will: text soll in der textarea umgebrochen werden für die darstellung, nicht im string. so aber ein gewollter zeilenumbruch \n in der texteingabe vorhanden ist, soll dieser erhalten bleiben.
lg, tiggerle
Hi,
was ich will: text soll in der textarea umgebrochen werden für die darstellung, nicht im string.
Die Browser nehmen doch bei Textarea-Inhalten (nahezu) die gleiche Art von "Umbruch" vor, wie in stinknormalem Fliesstest - wenn ein Wort nicht mehr auf die Zeile passt, dann wird es an den Anfang der naechsten gesetzt. Und das ganz ohne wrap-Attribut.
MfG ChrisB
Die Browser nehmen doch bei Textarea-Inhalten (nahezu) die gleiche Art von "Umbruch" vor, wie in stinknormalem Fliesstest - wenn ein Wort nicht mehr auf die Zeile passt, dann wird es an den Anfang der naechsten gesetzt. Und das ganz ohne wrap-Attribut.
ja, nur der FF nicht bei aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa :)
Hallo,
also mein browserproblem gibts nicht, ist wie so oft ein fehler bei mir gewesen :)
schon möglich ... ;-)
was ich will: text soll in der textarea umgebrochen werden für die darstellung, nicht im string. so aber ein gewollter zeilenumbruch \n in der texteingabe vorhanden ist, soll dieser erhalten bleiben.
Ja, und genau das ist das Standardverhalten aller derzeit gängigen Browser. Sonst würde das Eingabefeld für den Postingtext hier ja auch nicht wie gewünscht funktionieren.
So long,
Martin