Text auslesen und dann ausgeben
Christian
- javascript
Ich möchte aus einem Textfeld (name=nick) mittels eines Buttons Text auslesen und diesen dann in einer textarea(name=log) ausgeben. Das Formular heißt "form".
Ich kenne mich nicht so gut mit JavaScript aus, habe aber schon folgendes geschrieben:
-------------------------------------------------------
<SCRIPT language="JavaScript">
<!--
function eintragen()
{
var nick=window.document.form.nick.value*1;
var text=form.log.value;
text="Willkommen im Chat, "+nick+" :-)";
form.log.value=text;
}
//-->
</script>
-------------------------------------------------------
Jedoch funktioniert es nicht. Weiß einer Rat?
Erst mal hallo (so'ne Begrüßung ist super!)
<SCRIPT language="JavaScript">
<!--
function eintragen()
{
var nick=window.document.form.nick.value*1;
nenn Deine Form bitte nicht form und was ist das "*1"?
var nick = window.document.yourForm.nick.value;
var text=form.log.value;
"text" ist auch ein schlechter Name...
was ist "log.value"?
text="Willkommen im Chat, "+nick+" :-)";
gerade hast Du noch die Variable "text" definiert, die Du jetzt schon wieder überschreibst...
var yourText = "Wilkommen..."+nick;
form.log.value=text;
window.document.yourForm.log.value = yourText;
(wenn "log" der Name Deiner Textarea ist...
}
//-->
</script>
Hoffe, es hilft...
bluntburn
Hoffe, es hilft...
Jetzt steht bei mir:
function eintragen()
{
var nick = window.document.Eliza.nick.value;
var write = "Wilkommen..."+nick;
window.document.Eliza.log.value = write;
}
Und der Browser sacht: window.document.Eliza.log.value ist kein Objekt.
Hallo nochmal,
function eintragen()
{
var nick = window.document.Eliza.nick.value;
also "Eliza" ist jetzt der Name Deiner Form...
var write = "Wilkommen..."+nick;
"write" ist auch ein Wort, das in Javascript anderweitig verwendet wird... (ändern!)
window.document.Eliza.log.value = write;
ist "log" Deine Textarea???
}
Und der Browser sacht: window.document.Eliza.log.value ist kein Objekt.
kann nur sein, wenn a) "Eliza" nicht Deine Form ist, b) "log" kein Formaularelement ist..
Also in kurz:
function eintragen() {
document.DeinFormName.DeinElementName.value = "Willkommen..." + docuemnt.DeinFormName.nick.value;
}
und:
<form name="DeinFormName" ....>
<input name="nick" ...>
<textarea name="DeinElementName" ....>
</textarea>
</form>
Grüße,
bluntburn
Hallo nochmal,
Folgendes:
Im Head Teil:
<!--
function eintragen()
{
var nick = window.document.Eliza.nick.value;
var schreibe = "Wilkommen..."+nick;
window.document.Eliza.log.value = schreibe;
}
Im Body Teil:
<form name="Eliza" onSubmit="return dialog();">
<input type="text" name="nick" width="30" value="Dein Nick">
<input type="button" value="Verbinden" name="connect" onClick="eintragen()">
</div>
</tr>
<tr>
<td bgcolor=#FFFF66>
<textarea rows=14 cols=55 name="log"></textarea>
<center>
<font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="2">Dein
Text:</font>
<INPUT TYPE="text" size = 50 NAME="input" VALUE="">
</center>
</form>
Statt "write" habe ich jetzt "schreibe" in der Funktion genommen.
Entweder funktioniert das einlesen und ausgeben oder das Enter drücken im "input text fenster", je nachdem wo das ormular anfängt. Krieg ich irgendwie hin dass beides funktioniert?
Christian
Hallo Christian,
Im Body Teil:
[...]
ich hoffe der html-Teil sieht wenn die Seite fertig ist besser aus - jetzt ist er nämlich grausam :-)
Entweder funktioniert das einlesen und ausgeben oder das Enter drücken im "input text fenster",
was meinst du mit 'das Enter drücken im "input text fenster"'?
je nachdem wo das ormular anfängt.
wie, "wo das Formular anfängt"? Was meinst du damit?
Krieg ich irgendwie hin dass beides funktioniert?
bei mir funktionier das so wie du es gepostet hast (beim Drücken der des Buttons mit der Aufschrift "Verbinden" wird der gewünschte Text in die Textarea eingetragen). Kannst du vielleicht ein Test-Seite online stellen, auf der man sich das anschauen kann? vielleicht hast du ja irgendwo anders in der Datei einen Fehler.
Grüße aus Nürnberg
Tobias
Kannst du vielleicht ein Test-Seite online stellen, auf der man sich das anschauen kann? vielleicht hast du ja irgendwo anders in der Datei einen Fehler.
--> Okay, hier ist die Datei: http://homepages.compuserve.de/Christian20680/chat.htm
Und mit Eingabe meine ich das Enter drücken, nachdem man unten in der Chatleiste was eingegeben hat. Je nachdem wo man im <body> Tag <form name=""> hinschreibt, funktioniert wie gesagt das eine oder das andere (nicht).
Christian
Hallo Christian,
--> Okay, hier ist die Datei: http://homepages.compuserve.de/Christian20680/chat.htm
-></faq/#Q-19>
Und mit Eingabe meine ich das Enter drücken, nachdem man unten in der Chatleiste was eingegeben hat. Je nachdem wo man im <body> Tag <form name=""> hinschreibt, funktioniert wie gesagt das eine oder das andere (nicht).
tut mir leid, vermutlich reden wir aneinander vorbei - auf der angegebenen Seite gibt es nämlich überhaupt keine Möglichkeit die in [pref:t=59199&m=332627] genannte Funktion auszuführen...
Grüße aus Nürnberg
Tobias
Moin,
beachte den forms-Array, den Du ja mit JS aufrufst, entweder mit Name oder Nummer, letztere bei 0 (für den ersten) beginned.
var nick=document.forms[#].nick.value;
var text=document.forms[#].log.value;
text="Willkommen im Chat, "+nick+" :-)";
document.forms[#].log.value=text;
Gruß
Thomas
Hallo Christian,
<SCRIPT language="JavaScript">
hier fehlt das type-Attribut (mit dem Wert "text/javascript")
function eintragen()
die Funktion rufst du aber schon auf, oder?
var nick=window.document.form.nick.value*1;
für was ist denn das '*1' hinter "value" (das war das einzige was ich entfernen musste um es bei mir zum laufen zu bekommen)?
var text=form.log.value;
für was ist die Zeile gut?
text="Willkommen im Chat, "+nick+" :-)";
funktioniert das? (per alert(text) testen)
form.log.value=text;
vor "form.log..." sollte noch ein "document."
Jedoch funktioniert es nicht.
was funktioniert nicht? Verhalten soll/ist? Fehlermeldung? wenn ja, welche?
Grüße aus Nürnberg
Tobias