Formularfeld Eingabe an anderer stelle in echtzeit anzeigen
commulive
- html
Hallo Zusammen,
ist es möglich, die Eingabe in ein Formularfeld gleichzeitig parallel
an einer anderen Stelle auszugeben?
z.B.:
Ein Eingabefeld für einen Namen.
Weiter unten eine Postkarte als Tabellenhintergrund.
Und auf der Postkarte soll dann gleichzeitig zur Eingabe ins
Formularfeld der Name auch ausgegeben werden...
Über einen Lösungsansatz würde ich mich sehr freuen.
LG
Commulive
Grüße,
Über einen Lösungsansatz würde ich mich sehr freuen.
JS mit onChange?
oder brauchst du mehr als dies ansatz?
MFG
bleicher
JS mit onChange?
oder brauchst du mehr als dies ansatz?
Hi,
vielen Dank schonmal. Nunja, wenn es damit geht, werd ich mich schon irgendwie durchgooglen :-)
Es sei denn du hast, um zeit zu sparen, die Paradelösung für mich? *g*
LG
Commulive
Hallo nochmal,
bin einen Schritt weiter.
folgendes habe ich bis jetzt:
<form name="Karte" action="">
<input type="text" size="30" name="Vorname1"
onkeyup="this.form.Vorname.value = this.value"><br>
<input type="text" readonly="readonly" size="30" name="Vorname"><br>
<input type="text" size="30" name="nachname1"
onkeyup="this.form.nachname.value = this.value"><br>
<input type="text" readonly="readonly" size="30" name="nachname"><br>
<input type="reset">
</form>
Das sind 2 Felder, die an 2 Stellen ausgegeben werden, soweit, so gut...
Aber Problem,
die Ausgabefelder befinden sich nicht im selben Formular... das funktioniert nicht...
weiß jemand Rat?
LG
Commulive
Hallo Joachim,
habe deinen Post zu spät gesehen, aber ich denke mit deiner Version
könnte es klappen. Vielen vielen Dank schonmal, ich sage noch bescheid.
LG
Patrick
Hi,
also klappt wunderbar, vielen Dank.
Allerdings hab ich da noch ne Frage,
wenn ich das auf einem Textarea anwende, ist es möcglich, dass
wenn ich in der Eingabe im Textarea Zeilenumbrüche eingebe,
dass diese dann auch so ausgegeben werden? das funktioniert nämlich nicht...
LG
Patrick
Hi,
wenn ich in der Eingabe im Textarea Zeilenumbrüche eingebe,
dass diese dann auch so ausgegeben werden? das funktioniert nämlich nicht...
na, dann musst Du mit replace "\n" durch <br> ersetzen...
Warum antwortest Du eigentlich nicht direkt auf das Posting, sondern an dieser Stelle?
Gruesse, Joachim
Hi,
na, dann musst Du mit replace "\n" durch <br> ersetzen...
das hab ich schon probiert, aber das funzt nich...
es geht bei der sache übrigens um einen XT:Commerce shop, falls du das kennst.
Das Problem ist, dass eingabe und ausgabe in 2 verschiedenen dateien sitzt, die included werden. das funktioniert ja auch.
Es geht hierbei um eine Postkarte. An einer Stelle kann jemand was in ein Textarea eingeben und in einer Tabelle mit einem Postkartenbild als BG wird dann an entsprechender Stelle der Text angezeigt, um es bildlich auf der Postkarte darzustellen.
Wird jetzt bei der Eingabe im Textarea ein umbruch mit enter gemacht,
so wird der text in der ausgabe auf der Postkarte aber in einer zeile
ausgegeben.
und das möchte ich ändern...
Warum antwortest Du eigentlich nicht direkt auf das Posting, sondern an dieser Stelle?
Ich klick immer nur auf antworten... hä?^^
Gruß
Patrick
Hi,
das hab ich schon probiert, aber das funzt nich...
Doch, Du musst das als Regex ersetzen:
function check(id) {
if (!current_el) {
document.onkeyup = null;
return
}
var out_value = current_el.value.replace(/\n/g, "<br />");
document.getElementById(id).innerHTML = out_value;
}
Gruesse, Joachim
[latex]Mae govannen![/latex]
JS mit onChange?
oder brauchst du mehr als dies ansatz?
Wenn die Ausgabe in "Echtzeit" (nach jedem getippten Buchstaben) erfolgen soll, würde eher onkeyup passen.
Gedrückte Taste ermitteln (siehe Beispiel), entsprechendes Zeichen an der anderer Stelle ausgeben.
Cü,
Kai
Hi,
danke schonmal für die Antworten.
Hab jetzt einige Stunden versucht und versucht...
Aber leider bekomme ich es ja noch nicht mal hin, dass anstatt der Dezimal wert der normale Buchstabe ausgegeben wird.
Des Weiteren ist die Materie ja so,
Jemand gibt in EingabeFeld 1 etwas ein,
was dann in Ausgabefeld 1 ausgegeben wird.
Allerdings nur dann, wenn er auch in 1 schreib wird auch nur in 1 ausgegeben...
das gleich dann mit ein- und ausgabe 2 und 3 usw...
Ich bräuchte da vllt doch etwas mehr als einen ansatz und würde mich sehr freuen.
LG
commulive
Hi,
Ich bräuchte da vllt doch etwas mehr als einen ansatz und würde mich sehr freuen.
nun ja, quick and dirty:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<script type="text/javascript">
var current_el = false
function startcheck(el,id) {
current_el = el;
document.onkeyup = function () {
check(id);
}
}
function endcheck() {
current_el = false;
}
function check(id) {
if (!current_el) {
document.onkeyup = null;
return
}
document.getElementById(id).innerHTML = current_el.value;
}
</script>
</head>
<body>
<form>
<input onfocus="startcheck(this,'out')" onblur="endcheck()" type="text" value="" size="18" /><br />
<input onfocus="startcheck(this,'out2')" onblur="endcheck()" type="text" value="" size="18" />
</form>
<p><span id="out"></span></p>
<p><span id="out2"></span></p>
</body>
</html>
Gruesse, Joachim
Hi,
ist es möglich, die Eingabe in ein Formularfeld gleichzeitig parallel
an einer anderen Stelle auszugeben?
ich würde folgendermassen vorgehen: zunächst mal setzt Du per onfocus/onblur auf Dein Formelement einen flag, der steuert, ob die Formularüberwachung an oder aus sein soll. Wenn "an" überwachst Du wahlweise document.onkeydown/press/up und liest bei jedem Tastendruck das fragliche Formelement aus, um den Wert dann auch an anderer Stelle auszugeben. (Onchange halte ich für die Anforderung "Echtzeit" weniger geeignet, da das erst feuert, wenn das Formelement den Focus verliert.)
Alternativ kannst Du den Inhalt des Formularelementes auch periodisch durch einen intervall prüfen, während der flag auf "an" steht.
Gruesse, Joachim