Pessoal, to com uma duvida aqui. Tenho o seguinte trecho em um codigo javascript:
var city = '<%= bean.getCity() %>';
O problema eh que a cidade se chama O’Falon. Essa aspa no nome da cidade ta quebando meu javascript. To bem confuso em qual seria a abordagem pra resolver esse problema.
Eu posso colocar aspas duplas (var city = “<%= bean.getCity() %>”), mas isso poderia quebrar outros casos tambem.
Alguem sabe a melhor solucao pra esse tipo de problema? Acredito que deva ser relativamente comum.
[]'s
Rafael
E
'\''
//ou
"\""
não funfa?
Mas o valor ta vindo de um bean que foi preenchido com o banco de dados. Como vou saber se veio com aspas ou nao?
Bom, essa tratativa é responsabilidade tua, ok?
Porém, se for uma String, você tem meios de percorrê-la e de escapá-la.
Na maioria dos casos, é utilizado o bom senso, como a grande maioria das cidades e nomes NÃO contém coisas muito fora do comum (na língua inglesa, claro), você pode optar por simplesmente suprimir estas coisas.
Por exemplo, qualquer site, em inglês, em que eu me cadastre, não consigo utilizar caracteres latinos (acentos, til, coisas assim). Ainda bem que não me chamo João, Araújo, José, Gervásio…
Em Javascript (e em Java), para você ter uma aspa no seu texto, você deve antecedê-la por “”. Por exemplo:
var city = '<%= bean.getCity().replace ("\'", "\\\'") %>';