521 Stimmen

jQuery get textarea text

Vor kurzem habe ich angefangen, mit jQuery zu spielen, und habe ein paar Tutorials verfolgt. Jetzt fühle ich mich ein wenig kompetent, es zu benutzen (es ist ziemlich einfach), und ich dachte, es wäre cool, wenn ich in der Lage wäre, eine "Konsole" auf meiner Webseite zu machen (wie in, drücken Sie die ` Taste, wie Sie es in FPS Spiele, etc.), und dann haben es Ajax selbst zurück zum Server, um Dinge zu tun.

Ursprünglich dachte ich, der beste Weg wäre, nur den Text innerhalb der Textarea zu erhalten, und dann teilen Sie es, oder sollte ich das Keyup-Ereignis verwenden, konvertieren Sie den Keycode zurück zu einem ASCII-Zeichen, fügen Sie das Zeichen zu einer Zeichenfolge und senden Sie die Zeichenfolge an den Server (dann leeren Sie die Zeichenfolge).

Ich konnte keine Informationen über das Abrufen von Text aus einer Textarea finden, alles was ich bekam, waren Keyup-Informationen. Und wie kann ich den zurückgegebenen Keycode in ein ASCII-Zeichen umwandeln?

756voto

Eran Galperin Punkte 84916

Warum sollten Sie Tastenanschläge in Text umwandeln wollen? Fügen Sie eine Schaltfläche hinzu, die den Text in der Textarea an den Server sendet, wenn Sie darauf klicken. Sie können den Text über das value-Attribut abrufen, wie der Vorposter bereits dargelegt hat, oder die API von jQuery verwenden:

$('input#mybutton').click(function() {
    var text = $('textarea#mytextarea').val();
    //send to server and process response
});

47voto

Thomas Koelle Punkte 3082

Wenn Sie häufig die Textfunktion verwenden (z. B. in Divs usw.), dann ist es für den Textbereich val

bekommen:

$('#myTextBox').val();

gesetzt:

$('#myTextBox').val('new value');

24voto

p3drosola Punkte 5690

Sie sollten ein Div haben, das nur die Konsolenmeldungen enthält, d. h. die vorherigen Befehle und ihre Ausgaben. Und darunter ein Eingabe- oder Textfeld, das nur den Befehl enthält, den Sie gerade eingeben.

-------------------------------
| consle output ...           |
| more output                 |
| prevous commands and data   |
-------------------------------
> This is an input box.

Auf diese Weise senden Sie einfach den Wert des Eingabefeldes zur Verarbeitung an den Server und fügen das Ergebnis an das Konsolennachrichten-Div an.

14voto

sblundy Punkte 59298

Normalerweise ist es die Eigenschaft value

testArea.value

Oder gibt es etwas, was ich bei Ihren Anforderungen übersehe?

8voto

RodgerB Punkte 8463

Ich habe herausgefunden, dass ich den keyCode des Ereignisses in ein Zeichen umwandeln kann, indem ich die folgende Funktion verwende:

var char = String.fromCharCode(v_code);

Von dort aus würde ich dann das Zeichen an eine Zeichenkette anhängen, und wenn die Eingabetaste gedrückt wird, die Zeichenkette an den Server senden. Es tut mir leid, wenn meine Frage etwas kryptisch schien, und der Titel etwas fast völlig Off-Topic bedeutet, es ist früh am Morgen und ich habe noch nicht gefrühstückt ;).

Vielen Dank für eure Hilfe, Leute.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X