Question jQuery obtient du texte textarea


Récemment, j'ai commencé à jouer avec jQuery et j'ai suivi quelques didacticiels. Maintenant, je me sens légèrement capable de l'utiliser (c'est assez facile), et j'ai pensé que ce serait cool si je pouvais créer une «console» sur ma page Web (comme dans, vous appuyez sur la touche `comme vous le faites dans FPS jeux, etc.), puis l'avoir Ajax lui-même de retour au serveur afin de faire des choses.

Au départ, je pensais que le meilleur moyen serait de simplement insérer le texte dans la zone de texte, puis de le diviser, ou devrais-je utiliser l'événement keyup, convertir le keycode renvoyé en caractère ASCII, ajouter le caractère à une chaîne et envoyer la chaîne à le serveur (puis vide la chaîne).

Je n'ai pas pu trouver d'informations sur l'obtention de texte dans une zone de texte, tout ce que j'ai eu était des informations de saisie. En outre, comment puis-je convertir le keycode renvoyé à un caractère ASCII?


427
2017-09-28 00:05


origine


Réponses:


Pourquoi voudriez-vous convertir les raccourcis clavier en texte? Ajoutez un bouton qui envoie le texte dans la zone de texte au serveur lorsque vous cliquez dessus. Vous pouvez obtenir le texte en utilisant l'attribut value comme l'affiche l'a déjà fait, ou en utilisant l'API de jQuery:

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

640
2017-09-28 00:17



Vous devriez avoir un div qui ne contient que les messages de la console, c'est-à-dire les commandes précédentes et leur sortie. Et en dessous, placez une entrée ou une zone de texte contenant la commande que vous tapez.

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

De cette façon, vous envoyez simplement la valeur de la zone de saisie au serveur pour traitement et ajoutez le résultat aux messages de la console div.


23
2017-07-06 03:57



Là où c'est souvent la fonction de texte que vous utilisez (par exemple, dans divs, etc.), alors pour la zone de texte, c'est val

obtenir:

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

ensemble:

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

22
2018-06-13 10:32



Normalement, c'est la propriété value

testArea.value

Ou y a-t-il quelque chose qui me manque dans ce dont vous avez besoin?


13
2017-09-28 00:11



J'ai compris que je peux convertir le keyCode de l'événement en un caractère en utilisant la fonction suivante:

var char = String.fromCharCode(v_code);

De là, j'ajouterais le caractère à une chaîne et, lorsque la touche Entrée est pressée, envoyez la chaîne au serveur. Je suis désolé si ma question a semblé quelque peu énigmatique, et le titre qui signifie quelque chose presque complètement hors sujet, il est tôt le matin et je n'ai pas encore déjeuné;).

Merci pour toute votre aide les gars.


8
2017-09-28 00:34



Il me semble que le mot "console" cause la confusion.

Si vous souhaitez émuler une ancienne console full / half duplex, vous utiliserez quelque chose comme ceci:

$('console').keyup(function(event){
    $.get("url", { keyCode: event.which }, ... );
    return true;
});

événement.qui a la touche qui a été pressée. Pour la gestion des retours en arrière, event.which === 8.


7
2018-06-14 14:45



la meilleure façon:     $ ('# myTextBox'). val ('nouvelle valeur'). trim ();


0
2017-11-25 16:55