Como exibir o valor na página usando a propriedade InnerHTML?

2 respostas
A

Estou usando a propriedade InnerHTML para retornar o HTML interior de um elemento.
Uso essa propriedade dentro de um for.

document.getElementById('erroPlan').innerHTML = 'Erro Linha: '+j+', Coluna: '+cabecalhos[i] + '</p>';

Em minha div faço referência a esse id='erroPlan', porém na hora de exibir os valores na tela ele pega apenas o último do for.
Sabem como posso fazer para todos serem exibidos na página?

2 Respostas

T

Estou supondo que você está querendo exibir dentro do div "erroPlan" uma lista de erros, e seu problema é que ele está exibindo somente o último.
O que acontece é que você está atualizando todo o innerHTML do div a cada iteração do for (ou seja, toda vez que o laço é executado, todo o conteúdo que já estava lá é substituído).

Uma opção seria:
mensagens = "";

for (....){ // aqui o for permanece normal, do jeito que você fez 
  // concatena todas as mensagens em uma variável 
  mensagens = mensagens + 'Erro Linha: '+j+', Coluna: '+cabecalhos[i] + '</p>';
}
// o innerHTML recebe todas as mensagens que estão na variável "mensagens"
document.getElementById('erroPlan').innerHTML = mensagens; // note que está fora do for
Obs: não testei, talvez você tenha que alterar alguma coisa da sintaxe.

Abraço.

A

TerraSkilll, a opção sugerida atende perfeitamente.
Muito obrigado!
Caso resolvido.

Criado 5 de dezembro de 2012
Ultima resposta 5 de dez. de 2012
Respostas 2
Participantes 2