Entrez la clé dans textarea

J'ai une zone de textarea , Sur chaque touche Entrée enfoncée dans la zone de textarea Je souhaite que la nouvelle ligne commence avec une balle dis (*). Comment s'y prendre ?

Non jQuery s'il vous plaît.

Je peux observer la touche Enter , après ça! Devrais-je avoir la valeur totale de la zone de textarea et l'ajouter à nouveau et de nouveau remplir la zone de textarea ?

Vous pourriez faire quelque chose comme ça:

 <body> <textarea id="txtArea" onkeypress="onTestChange();"></textarea> <script> function onTestChange() { var key = window.event.keyCode; // If the user has pressed enter if (key === 13) { document.getElementById("txtArea").value = document.getElementById("txtArea").value + "\n*"; return false; } else { return true; } } </script> </body> 

Bien que le nouveau flux de caractères de la ligne de la saisie de Enter soit encore là, mais c'est un début pour obtenir ce que vous voulez.

Ajoutez simplement ce tad à votre zone de texte.

 onkeydown="if(event.keyCode == 13) return false;" 

Vous devez considérer le cas où l'utilisateur appuie entrent au milieu du texte, pas seulement à la fin. Je suggère de détecter la clé de saisie dans l'événement de la keyup , comme cela a été suggéré, et d'utiliser une expression régulière pour vous assurer que la valeur est keyup :

 <textarea id="t" rows="4" cols="80"></textarea> <script type="text/javascript"> function formatTextArea(textArea) { textArea.value = textArea.value.replace(/(^|\r\n|\n)([^*]|$)/g, "$1*$2"); } window.onload = function() { var textArea = document.getElementById("t"); textArea.onkeyup = function(evt) { evt = evt || window.event; if (evt.keyCode == 13) { formatTextArea(this); } }; }; </script> 

Mon scénario est lorsque l'utilisateur frappe la touche enter en tapant dans textarea. Je dois inclure une rupture de ligne. J'ai réussi à utiliser le code ci-dessous …… J'espère qu'il peut aider quelqu'un ……

 function CheckLength() { var keyCode = event.keyCode if (keyCode == 13) { document.getElementById('ctl00_ContentPlaceHolder1_id_txt_Suggestions').value = document.getElementById('ctl00_ContentPlaceHolder1_id_txt_Suggestions').value + "\n<br>"; } } 

Vous pourriez faire quelque chose comme ça:

 $("#txtArea").on("keypress",function(e) { var key = e.keyCode; // If the user has pressed enter if (key == 13) { document.getElementById("txtArea").value =document.getElementById("txtArea").value + "\n"; return false; } else { return true; } }); 
 <textarea id="txtArea"></textarea>