javascript - fields - Tecla enter en textarea
render form drupal 8 (5)
Debe considerar el caso en el que el usuario presiona ingresar en el centro del texto, no solo al final. Yo sugeriría detectar la tecla enter en el evento keyup
, como se sugiere, y usar una expresión regular para asegurar que el valor sea el que necesita:
<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>
Tengo un área de textarea
, en cada tecla Intro presionada en área de textarea
quiero que la nueva línea comience con una viñeta, por ejemplo (*). Cómo hacerlo ?
No jQuery por favor.
¿Puedo observar para la tecla Enter , después de eso? ¿Debo tener que obtener todo el valor de textarea
y agregarle * y volver a llenar el área de textarea
?
Mi situación es cuando el usuario pulsa la tecla Intro mientras escribe en área de texto. Tengo que incluir un salto de línea. Lo logré utilizando el siguiente código ... Espero que pueda ayudar a alguien ...
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>";
}
}
Podrías hacer algo como esto:
$("#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>
Podrías hacer algo como esto:
<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>
Aunque la nueva fuente de caracteres de línea de presionar enter seguirá estando allí, pero es un comienzo para obtener lo que desea.
Simplemente agrega este tad a tu área de texto.
onkeydown="if(event.keyCode == 13) return false;"