Schreiben Sie die textarea, wenn enter-Taste gedrückt wird?
Ich habe eine textarea, die Griff-Ausgang und ein textfield, die Behandlung von Benutzereingaben.
Fokus wird ausschließlich auf das Eingabefeld.
Ich kann nicht machen Sie es so, dass die Benutzer-Eingabe-Feld wird text hinzufügen, wenn das Formular abgeschickt wird (enter-Taste gedrückt wird). Es wird nur funktionieren, wenn eine Taste geklickt wird. Wie löse ich dieses Problem?
Unten ist der code, den ich versuche für Sie die enter-Taste Absenden.
<html>
<head>
<script type="text/javascript">
function addtxt(input) {
var obj=document.getElementById(input)
var txt=document.createTextNode("blah blah")
obj.appendChild(txt)
}
</script>
</head>
<body>
<textarea id="textarea1"></textarea>
<br><input type="text" onSubmit="addtxt('textarea1');">
</body>
</html>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies wird den job tun. Auch Sie sollten deal mit der
value
Eigenschaft der textarea-anstatt anfügen von text-Knoten, um es: wenn der Benutzer die textarea value bei allen, ändert es seine Kind-Knoten, dann wird keine Wirkung haben. Wenn Sie möchten, dass die textarea zu Lesen-nur, fügen Sie einreadonly
Attribut:<textarea id="textarea1" readonly></textarea>
.Anstelle von senden, verwenden Sie das keypress-Ereignis. Erkennen, wenn die EINGABETASTE gedrückt wird, kopieren Sie die Daten, und die Veranstaltung abzusagen (zu verhindern, dass Formular-übermittlung). Wenn Sie erlauben, das Formular zu senden, es wird einfach ersetzen Sie den vorhandenen Seite mit dem Ergebnis des Formular-post.
Ändern Sie Ihre aktuelle code:
Beachten Sie, dass es viel bessere Möglichkeiten, das zu erreichen Ihr Ziel, aber da Sie nicht sagen, was das ist, das ist wirklich das beste, das ich tun kann. Auch ich würde auf jeden Fall auf die Verwendung eines Frameworks wie jQuery/Dojo/Prototype und fügen Sie den Handler unauffällig.
keydown
Ereignis bedeutet, dass Sie verwenden können, diekeyCode
Ereignis-Eigenschaft in allen Browsern. Auchreturn true
ist redundant: die Rückkehrundefined
(das ist, was passiert in der Abwesenheit von einemreturn
- Anweisung) das tut, was Sie wollen. Schließlich finden Sie meine Antwort für die details, aber die Bearbeitung eines textarea-Wert sollte getan werden, über dievalue
Eigenschaft.Verwenden Sie das form-element
Können Sie JQuery verwenden