Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alexandre_prog

[Resolvido] colocar determinados caracteres em Option

Recommended Posts

Pessoal esotu fazendo um laço aqui no PHP pra adicionar meus registros no banco, até ai BELEZA, o problema é que no Banco tem registros com caracteres que de certa forma, fazem dar erro nessa "população" dos Options do Select:::

 

 

a linha de código ficou assim:::

 

 

echo "<script>var opt = document.createElement('option'); opt.setAttribute('value', '".$row->NOME_CID."'); opt.innerHTML = '".$row->NOME_CID."'; document.getElementById('cid').appendChild(opt);</script>";

O problema é que têm registros do Banco que são cadastrados com esses caracteres {{ ()''-- }},,,, então esses caracteres fazem dar erro na interpretação do código,

 

COMO RESOLVER???

 

 

Vejam que estou usando DOM pra criar dinamicamente isso nos options do selects junto com o PHP, então me desculpem se não postei esse tópico no de JavaScript, mas como acho que o PHP resolverá isso, então postei aqui mesmo!!!

 

 

OBRIGADO!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixa eu ver como fica o HTML que dá erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixa eu ver como fica o HTML que dá erro.

 

Não entendi, será que não fui claro com minha explicação, por causa desses caracteres que vem do banco, ele não consegue criar e executar corretamente a linha do JavaScript,

 

gostaria de saber se tem alguma função do PHP ou JavaScript ou qualquer outra ue seja que consiga fazer eu colocar esses caracteres sem problemas...

 

 

Obrigado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Foi claro sim. COmo o erro é no Javascript, preciso ver o que foi enviado pro browser.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Foi claro sim. COmo o erro é no Javascript, preciso ver o que foi enviado pro browser.

Erro: missing ) after argument list
Arquivo-fonte: http://localhost/rel_disfarma/index.php?user=1
Linha: 0, Coluna: 83
Código-fonte:
var opt = document.createElement('option'); opt.setAttribute('value', 'APARECIDA D'OESTE'); opt.innerHTML = 'APARECIDA D'OESTE'; document.getElementById('cid').appendChild(opt);

Então parceiro, no FireFox aparece isso naquele console de erros, mas já sabemos por que dá o erro, eu só não sei como resolver, por isso é que estou pedindo ajuda!!

 

Obrigado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já morei perto de Aparecida d´Oeste http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

Bom, faz assim: no firefox, precione ctrl+u, isto vai te dar o código fonte.

Cola aqui a parte do código onde imprime o javascript.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já morei perto de Aparecida d´Oeste http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

Bom, faz assim: no firefox, precione ctrl+u, isto vai te dar o código fonte.

Cola aqui a parte do código onde imprime o javascript.

 

BOM que já morou,

 

infelizmente não vai dar pra mostrar o JavaScript porque estou utilizando Ajax, então não dá pra imprimir esse código,

 

o erra está dando porque o DOM do JavaScript não consegue aceitar a Áspas Simples (') dentro do valor do option porque isso 'quebra' a sintaxe do DOM, será que está difícil de entender??

 

 

Como resolver meu problema??

 

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então quer dizer que este código javascript é enviado como o responseText do XMLHTTPRequest ?

Se sim, você pode usar o console do firebug para capturar a resposta, veja:

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema é no value atribuído no option...

tem como passar outra coisa como value ao invés do nome ?? ID por exemplo ...

 

caso nao, usar um htmlentities te prejudica em algum lugar do sistema ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema é no value atribuído no option...

tem como passar outra coisa como value ao invés do nome ?? ID por exemplo ...

 

caso nao, usar um htmlentities te prejudica em algum lugar do sistema ?

 

Não posso usar o ID da tabela,

 

agora com htmlentities, não sei se daria certo, o que ele faz afinal??

 

 

Obrigado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, consegui olhem só::

 

echo "<script>var opt = document.createElement('option'); opt.setAttribute('value', '".str_replace("'","\'",$row->NOME_CID)."'); opt.innerHTML = '".$row->NOME_CID."'; document.getElementById('cid').appendChild(opt);</script>";

 

Obrigado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.