Alguna vez he tenido la necesidad de eliminar los saltos de línea en un campo de formulario de tipo textarea. Más aún, he tenido la necesidad de eliminar los saltos de línea del texto seleccionado dentro de un textarea. Con la siguiente función Javascript conseguimos localizar la porción de texto seleccionado y eliminar los saltos de línea o line breaks (“\n”) y los retornos de carro o carrier return (“\r”). Para ello utilizamos funciones propias del lenguaje Javascript (createTextRange, duplicate, replace) y expresiones regulares.
function suprSaltos(campo) { if (campo.createTextRange) { campo.focus(campo.caretPos); campo.caretPos = document.selection.createRange().duplicate(); if(campo.caretPos.text.length>0) { var sel = campo.caretPos.text; var fin = ''; while(sel.substring(sel.length-1, sel.length)==' ') { sel = sel.substring(0, sel.length-1); fin += ' '; } campo.caretPos.text = sel.replace(new RegExp('\\n','g'),''). _ replace(new RegExp('\\r','g'),'') + fin; } else campo.caretPos.text = ''; } else campo.value += ''; }
Como en otras funciones, en esta función es necesario juntar la expresión en una única línea quitando los _ de final de línea porque de lo contrario no funcionará.
Otros artículos relacionados:
- Reemplazar carácteres con expresiones regulares en ASP para generar URL’s amigables
- Validar campos y parámetros con expresiones regulares en ASP
- Validar fechas con expresiones regulares en ASP y Javascript
- Validar direcciones de e-mail con expresiones regulares en ASP y Javascript
- Validar direcciones de Internet o URL’s con expresiones regulares en Javascript
- Modificar el contenido de cualquier página web cargada en local con Javascript
- Generar password y contraseñas aleatorias con javascript
- La World Wide Web y el HTML cumplen 20 años
Entradas (RSS)
necesito un salto de linea para un textarea
este debe cambiar de la primera fila a la segunda despues
de que hayan pasado 30 caracteres o letras
El codigo es el siguiente
function ismaxlength(obj){
var mlength=obj.getAttribute? parseInt(obj.getAttribute(“maxlength”)) : “”
if (obj.getAttribute && obj.value.length>mlength)
obj.value=obj.value.substring(0,mlength)
}
<?
if($opc1 ‘R’){
$campos = array(“USUARIOS”);
chequeo_campos(“form1″,$campos);
}
?>
<form name=”form1″ enctype=”multipart/form-data” action=”../adm_productos_ver/observacion_guardar.php?sec1=&inicio=&page=” method=”post” onSubmit=”javascript:return valida_campos(1)”>
<table width=”100%” border=”0″ align=”center” cellpadding=”0″ cellspacing=”0″ bgcolor=”">
<tr bgcolor=”>
<tr bgcolor=”>
OBSERVACIONES
Mensaje:
<textarea name=”OBSER” id=”OBSER” rows=”4″ cols=”70″ wrap=”off”>FVEstado ’0′){ echo ‘readonly’; } ?> maxlength=”255″ onKeyUp=”return ismaxlength(this)”>FVObfac ?>
FVEstado == ’0′) { ?>
Volver
<tr bgcolor=”>
Porfavor la respuesta la necesito lo mas rapido posible porfavor
muchas gracias por su ayuda y comentarios
Se despide
Atte
Felipe Urrutia R.
Cuando des una solucion da una solucion bien
esas soluciones no funcionan.
estan incompletas y uno q apenas esta con esto de la programacion
ya ni la chin”#$$%$%&/%&
Hola David, esta solución a mí me funcionó perfectamente en un momento concreto para un caso concreto.
Si expones más detalladamente tu problema quizás podamos ayudarte.
Un saludo.
Anexo ejemplo para quitar saltos de linea y retorno de carro de un campo textarea
function test(){
var campo= window.document.myForma.nombre_text_area.value;
alert(“Mi valor antes de funcion:”+campo);
alert(“Mi resulado es:”+campo.replace(new RegExp(‘\\n’,’g’),”).replace(new RegExp(‘\\r’,’g’),”));
}
Espero les sirva