Nome:
Local: Rio de Janeiro, RJ, Brazil

Que perguntinha hein?! Mas vamos lá, adoro estudar assuntos relacionados à web, sempre que posso aprendo uma tecnologia, técnica ou linguagem nova. Tento sempre ver quais são as tendências e acompanha-las, enfim eu sou um eterno aprendiz. Deixando o lado profissional, entrando no lado pessoal, sou uma pessoa super gente-boa (pelo menos eu me acho. rs), adoro curtir a night, sair com os amigos, fazer novas amizades e viajar (tem coisa melhor do que isso?) Acho que você já está sabendo demais sobre mim. Fuiii...

terça-feira, 25 de setembro de 2007

Inserir Elementos Dinamicamente na tabela

Um post rápido, Essa semana tentei fazer algo simples, mas levei um suor pra fazer, mas era algo bem simples de ser resolvido, então você pode estar passando por isso, então aqui venho para esclarecer e até porque se no futuro eu esquecer, posso consultar este blog e ter a resposta XD. Estava, eu fazendo um carregamento dinâmico de uma tabela aqui na empresa, montei a tabela bonitinha e parti para o DHTML, para fazer a estrutura da tabela dinâmica, nesta tabela o carregamento se dava de acordo com a necessidade do usuário e era criado as linhas da tabela de forma que o usuário desejar sem e não colocando sempre na última posição, para essa questão simples, fui utilizar a função insertBefore, para minha surpresa isso retornava o seguinte erro:

Nó não foi encontrado

Vi, li e reli a minha tabela e não consegui encontrar o erro, a estrutura da minha tabela estava mais-ou-menos assim:


<table id="myTable">
<tbody>
<tr id="row1"><td>row1col1</td><td> row1col2</td></tr>
<tr id="row2"><td>row2col1</td><td> row2col2</td></tr>
</tbody>
</table>


e com o seguinte código tentava adicionar uma linha na tabela:

var newRow = document.createElement('tr');
var row2 = document.getElementById('row2');
var aqui = document.getElementById('myTable').insertBefore(newRow,row2);


E nada de dar certo, fui naquele-que-tudo-sabe (leia-se:Google), ainda sim não tinha encontrado uma resposta satisfatória, até que entrei em um site gringo, que tinha um código muito semelhante ao meu, só que o dele funcionava! (Mas devo confessar que nem ele mesmo sabia porque estava funcionando, pois ele disse que para resolver o problema era necessário fazer o clone de um elemento, no caso um tr, e depois fazer a inserção, essa informação não procede!) Até que descobri o meu erro, mas antes de escrever onde estava errando, gostaria de perguntar à você, se com as informções acima você consegue saber onde estava errando, gostaria que arriscasse um palpite, não custa nada, ninguém nasceu sabendo, então não leia as linhas abaixo e dê o seu palpite, depois disso volte para ver a resposta. (não vale ver a resposta antes, hein) Estou confiando na sua honestidade. rs















Que rufem os tambores! Boa Sorte! XD
O erro era que estava tentando fazer a inserção do elemento tr no elemento table e não pode ser feito dessa forma, tenho que fazer a inserção no tbody, ou seja, passei a id da table, para tbody. Uma questão simples de ser resolvida!













fuiii...

Marcadores: , ,

3 Comentários:

Blogger Micox - Náiron J. C. G. disse...

Meu chute:
Você deve colocar os td's na TR antes de tentar inserí-la.

25 de setembro de 2007 14:56  
Blogger Micox - Náiron J. C. G. disse...

errei

25 de setembro de 2007 14:59  
Blogger ramon disse...

Esse meu erro passa despercebido né?!

Valeu pelo comentário.

25 de setembro de 2007 15:03  

Postar um comentário

Assinar Postar comentários [Atom]

<< Página inicial