Rellenar textarea

Hola,

Estoy inetntado que al seleccionar un elemento en un select me rellene
un textarea. En principio funciona, excepto cuando el texto que quiero
meter en el textarea sea de más de una línea.

page << “$(‘oferta_forma_pago’).value=’” + @tipopago.descripcion + “’;”

Que solución puedo darle???

Gracias por adelantado!
Un saludo!

Hola,

un textarea. En principio funciona, excepto cuando el texto que quiero
meter en el textarea sea de más de una línea.

page << “$(‘oferta_forma_pago’).value='” + @tipopago.descripcion + “';”

es posible que un escape_javascript te lo arregle. Imagino que aunque
sea una sola línea si le pones una comilla simple en medio se rompe
igualmente. Con el escape lo debería apañar.

saludos,


javier ramírez

…i do ruby on rails development in madrid, spain, at
http://www.aspgems.com
…you can find out more about me on http://formatinternet.wordpress.com
and http://workingwithrails.com/person/5987-javier-ramirez

2008/12/4 Juan JosŽé Vidal Agust’ín [email protected]:

Estoy inetntado que al seleccionar un elemento en un select me rellene
un textarea. En principio funciona, excepto cuando el texto que quiero
meter en el textarea sea de más de una línea.

page << “$(‘oferta_forma_pago’).value='” + @tipopago.descripcion + “';”

Que solución puedo darle???

Si es una cadena yo suelo usar .to_json. Ese metodo genera tambien las
comillas, por lo que te quedaria

page << “$(‘oferta_forma_pago’).value =
#{@tipopago.descripcion.to_json};”

On 12/4/08, Juan JosŽé Vidal Agust’ín [email protected] wrote:

Gracias por adelantado!
Un saludo!


Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es

Nosotros tenemos esta “guarrerida” en el ApplicationHelper:

def multiline_js_string(string)
“().toString()”
end

Se usaría así, por ejemplo:

var wadus = <%= multiline_js_string(@whatever.wadus) %>;

No deja de ser una chapuza pero tampoco he encontrado otra solución…

¿Algún gurú de Javascript en la sala?


Sergio Gil Pérez de la Manga
e-mail > [email protected]
blog > http://www.lacoctelera.com/porras
now > http://twitter.com/porras

2008/12/4 Sergio Gil Pérez de la Manga [email protected]:

Se usaría así, por ejemplo:

    var wadus = <%= multiline_js_string(@whatever.wadus) %>;

No deja de ser una chapuza pero tampoco he encontrado otra solución…

Yo creo que #to_json es de lo mas sencillo:

$ script/runner ‘puts “foo\015\012bar\015\012baz”.to_json’
“foo\r\nbar\r\nbaz”

He puesto CRLFs para que se vea que si el valor vino de un textarea de
ese modo #to_json te echa lo mismo.

En JavaScript “foo\nbar” es un literal con una cadena multilinea como
lo es en Ruby (no es necesario un heredoc).

En JavaScript “foo\nbar” es un literal con una cadena multilinea como
lo es en Ruby (no es necesario un heredoc).

Que es heredoc? por saber y porque quede más claro el hilo

El día 4 de diciembre de 2008 22:19, Xavier N. [email protected]
escribió:> 2008/12/4 Sergio Gil Pérez de la Manga [email protected]:

Muchas gracias por la respuesta. Un placer estar por esta lista

Un saludo

El día 5 de diciembre de 2008 10:12, Xavier N. [email protected]
escribió:> 2008/12/5 Andrés gutiérrez [email protected]:

2008/12/5 Andrés gutiérrez [email protected]:

En JavaScript “foo\nbar” es un literal con una cadena multilinea como
lo es en Ruby (no es necesario un heredoc).

Que es heredoc? por saber y porque quede más claro el hilo

Algunos lenguajes, Bash, Perl, Ruby, …, ofrecen una manera de
escribir cadenas multilinea con los saltos de linea en el mismo
codigo:

puts <<EOS
foo
bar
EOS

Ese tipo de literal esta heredado de las shells y se llama “here
document”, o “heredoc” para abreviar tambien.

Mi comentario entre parentesis solo recordaba que se puede escribir
una cadena multilinea sin heredocs. La de arriba es equivalente a

puts “foo\nbar\n”

Por lo que el hecho de que una cadena sea multilinea no añade ninguna
dificultad especial al generar codigo con esa notacion, es un literal
como cualquier otro.

On 12/4/08, Xavier N. [email protected] wrote:

$ script/runner ‘puts “foo\015\012bar\015\012baz”.to_json’
“foo\r\nbar\r\nbaz”

He puesto CRLFs para que se vea que si el valor vino de un textarea de
ese modo #to_json te echa lo mismo.

En JavaScript “foo\nbar” es un literal con una cadena multilinea como
lo es en Ruby (no es necesario un heredoc).

La verdad es que mola mucho más con JSON Xavi, no había caído en que
se podía hacer así :smiley:


Sergio Gil Pérez de la Manga
e-mail > [email protected]
blog > http://www.lacoctelera.com/porras
now > http://twitter.com/porras