Erro com Textarea

2 respostas
M

Pessoal, tenho um formulário que tem um campo do tipo textarea que uso pra cadastrar e alterar registro de uma tabela. Qdo clico no link incluir ele me abre o form em branco, mas na lista de registros qdo clico em alterar ele me traz os dados em seus devidos campos, mas no textarea, qdo tenho mais de uma linha dá erro no javascript informando “Constante de sequencia não finalizada”. Como faço pra meu textarea identificar seu conteúdo como html ?? veja o link alterar abaixo:

<a href="javascript:void(0)" title="Editar Atividade" onclick="
                      if (confirm('Quer editar\n\n<jsp:getProperty name="listar" property="resumo"/> ?') ) {
                         form1.action='index.jsp?acao=gravar&id_atividade_externa=<jsp:getProperty name="listar" property="id_atividade_externa"/>';
                         document.getElementById('form1').style.display='block';
                         document.getElementById('div_consultor').innerHTML='<jsp:getProperty name="listar" property="usuario"/>';
                         form1.data.value='<jsp:getProperty name="listar" property="data"/>';
                         form1.id_cliente.value='<jsp:getProperty name="listar" property="id_cliente"/>';
                         form1.resumo.value='<jsp:getProperty name="listar" property="resumo"/>';
                         form1.atividades_realizadas.value='<jsp:getProperty name="listar" property="atividades_realizadas"/>';                        
                         javascript:parent.scrollTo(0,0);
                      }"><img src="../imagens/editar.jpg" title="Editar Atividade"></a>

2 Respostas

T

Não é uma gambiarra; é o jeito correto de proceder.
Se você está escrevendo programas que geram outros programas (ou seja, um JSP que gera JavaScript), você deve saber as regras das duas linguagens.

theBalrog

Nossa cara… Eu também já cansei de tomar esse erro na cara…
Seguinte…
Isso ai acontece quando você printa uma String do Java para uma String no JavaScript. Provavelmente você deve ter em uma dessas Strings que você obtém com o <jsp:getProperty /> deve ter um \n ou \r.

Quando você tem uma String no Java do tipo:

E você printa isso no console, vai aparecer a quebra de linha:

Está chovendo lá fora!
Não está?

Legal, quebrou a linha como eu mandei… Mas quando você coloca isso numa String do JavaScript… :cry:

var mensagem = ‘<;%= “Está chovendo lá fora!\nNão está?” %>’;

E você for ver seu código fonte, você vai ver isso aqui:

var mensagem = 'Está chovendo lá fora! Não está?';

Acho que você já deve ter se ligado:

var mensagem = ‘Está chovendo lá fora!
Não está?’;

Nos trechos destacados, onde você finalizou a String, onde você começou?
Por isso que dá esse erro…

Eu já tive esse problema muitas vezes quando estava utilizando mensagens internacionalizadas, quando eu queria que através de um alert do JavaScript quebrasse a linha da mensagem.

Solucionei fazendo algo do tipo:

Isso é uma gambi, mas quando o Java olha essa String, ele substitui o \ por , deixando para a String do JavaScript o \n, quebrando a linha de forma correta.

Bom, é isso ae… A ação que tu vai tomar fica contigo… rsrsrs
Boa sorte!

Criado 18 de julho de 2006
Ultima resposta 18 de jul. de 2006
Respostas 2
Participantes 3