Foros del Web » Programando para Internet » Javascript »

Script para limpiar campo y problemas con saltos de línea o carro

Estas en el tema de Script para limpiar campo y problemas con saltos de línea o carro en el foro de Javascript en Foros del Web. Hola a todos: Tengo el siguiente script que consigue limpiar el contenido de un cuadro de texto cuyo origen es el contenido de un campo ...
  #1 (permalink)  
Antiguo 04/03/2011, 15:32
Avatar de auttranadhie  
Fecha de Ingreso: noviembre-2008
Ubicación: Madrid (España)
Mensajes: 156
Antigüedad: 15 años, 5 meses
Puntos: 8
Pregunta Script para limpiar campo y problemas con saltos de línea o carro

Hola a todos:

Tengo el siguiente script que consigue limpiar el contenido de un cuadro de texto cuyo origen es el contenido de un campo tipo texto de un registro de una tabla MySQL:

Código HTML:
<script>
function do_reset()
{
document.getElementById("txt_micampo").value = "";
}
</script>
<textarea id="txt_micampo">Contenido del campo</textarea>
<br>
<input type="button" value="Limpiar" onclick="do_reset();"> 
Mi problema radica en que cuando el contenido no contiene saltos de línea o carro (esto es, "\n" o "\r") el script funciona perfectamente, pero cuando sí hay esos saltos no hace nada de nada.

Mi consulta es saber porqué sucede esto y si alguien, ya puestos, puede darme una solución sin eliminar esos saltos.

Muchas gracias a todos por adelantado y un saludo.
__________________
A. Uttranadhie
  #2 (permalink)  
Antiguo 04/03/2011, 22:06
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Script para limpiar campo y problemas con saltos de línea o carro

buenas...

la verdad no le veo la relacion entre el script y el contenido de la base de datos. el script lo unico que hace es asignar un string vacio al elemento. ¿desde donde agregas el contenido de la base de datos al elemento? por lo poco que explicas, el error de salto de linea ocurre cuando un string de javascript contiene saltos de linea. y por tanto, me hace entender que es desde javascript que agregas el contenido al campo. si es el caso, desde el servidor tienes que codificar todos los saltos de linea por su equivalente escape (o sea, por \r o \n) antes de asignarlo a javascript.

si no es tu caso, entonces debes proveer mas detalles... al menos yo no lo tengo muy claro.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 05/03/2011, 04:27
Avatar de auttranadhie  
Fecha de Ingreso: noviembre-2008
Ubicación: Madrid (España)
Mensajes: 156
Antigüedad: 15 años, 5 meses
Puntos: 8
Respuesta: Script para limpiar campo y problemas con saltos de línea o carro

Hola, de nuevo:

El contenido del campo de texto que limpia el script proviene de un registro que contiene esos saltos puesto que son campos de texto que los usuarios van a alimentar con texto muy largo (p.e., un artículo). Por esa razón no quiero modificar los saltos antes de pintar el contenido en un HTML. Pero creo que eso es lo de menos ...

Lo me interesa saber es porqué el script no funciona cuando el campo de texto HTML contiene los saltos de línea o carro.

Como dices debo codificar los saltos de línea por el escape correspondiente. ¿Alguna pequeña idea?

Gracias de nuevo y un saludo.
__________________
A. Uttranadhie
  #4 (permalink)  
Antiguo 05/03/2011, 05:45
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Script para limpiar campo y problemas con saltos de línea o carro

honestamente todavia no tengo muy claro tu situacion; o sera que hoy no es mi dia. vuelvo y recalco, no veo la relacion del contenido con el script. el siguiente ejemplo te debe funcionar...

Código:
<script>
function do_reset(){
document.getElementById("txt_micampo").value = "";
}
</script>
<textarea id="txt_micampo"><!-- asumiendo que este es el contenido extraido de la base de datos -->una linea

otra linea
y mas lineas...




todas las que quieras</textarea>
<br>
<input type="button" value="Limpiar" onclick="do_reset();">
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:38.