Perdida de espacios en blanco y retornos de carro

36 views
Skip to first unread message

Artemi

unread,
Jan 7, 2008, 10:36:18 AM1/7/08
to Ajax-es
Buenas, mi problema es el siguiente, estoy trabajando en un sistema de
almacenamiento de informes, basado en php y mysql, para ingresar el
cuerpo de un informe lo hago almacenando los datos vía http (como es
norma), y luego se agrega otras cosas al informe, es decir primero
agrego datos básicos y luego otro datos que se guardan en otras
tablas. El cuerpo del informe se introduce en un textarea, que al ser
enviado por http no tiene ningún problema, pues cuando lo visualizo
(utilizando las funciones debidas), me muestra tildes, eñes, y los
retornos de carro (<br>).

El problema específico es que la edición del informe se da toda en una
misma página, es decir tanto el cuerpo del informe como los datos que
se almacenan en otras tablas se muestran todos juntos, y para esto
utilizo ajax, así si el usuario quiere editar solo el cuerpo del
mensaje edita solo el cuerpo del mensaje, si quiere editar solo los
otros datos edita solo los otros datos, si quiere editar todo (bueno)
pues edita primero una parte y luego las demás. Todo funciona bien,
excepto el cuerpo de informe, si el que está en un textarea, pues
cuando creo una varible de esta manera

var detalle = document.form1.detalle.value.

y luego utilizó esto, ya no tiene ni espacios en blanco ni retornos de
carro, sino solo un largo string compuesto por los caracteres
"verdaderos" del informe.

Si alguien sabe que función debo utilizar para mantener los espacios
en blanco y retornos de carro le agradecería me lo indique.

xelA

unread,
Jan 7, 2008, 11:09:47 AM1/7/08
to Ajax-es
En javascript puedes parsear tu string para algunos caracteres
especiales o de formato, como los retornos del carro.
algunos:
\b Backspace.
\f Form feed.
\n Newline.
\O Nul character.
\r Carriage return.
\t Horizontal tab.
\v Vertical tab.
\' Single quote or apostrophe.
\" Double quote.
\\ Backslash.
por ej:

<textarea id="detalle">
esta es la linea 1
esta es la linea 2
esta es la linea 3
</textarea>

<script type="text/javascript">
var detalletext=document.getElementById("detalle").value.split("\n") //
Guarda cada linea en del textarea como un arreglo
alert(detalletext[2]) //alerts "esta es la linea 3
</script>

saludos,
Alejandro Rigalt
Reply all
Reply to author
Forward
0 new messages