Ir para conteúdo
Fórum Script Brasil
  • 0

Obter conteúdo da <table>


Manoel Zancheta

Pergunta

Olá.

Tenho uma <table> com várias linhas e colunas. Agora preciso gravar o contéudo dela no Banco de Dados mas não estou conseguindo "recuperar" as informações contidas nas mesmas.

Pesquisando, encontrei uma rotina JS que funciona, porém só para uma linha.

Function MostraDados("") {
     var elTableRow = document.getElementById("MinhaTabela");
     var elTableCells = elTableRow.getElementsByTagName("td");
     alert(elTableCells[0].innerText);
     alert(elTableCells[1].innerText);
}

Acredito que seja pelo fato deste exemplo "pegar" o id de cada linha. O fato é que não consegui ler todas as linhas com esta rotina e não encontrei outra na NET.

Caso alguém tenha uma sugestão, fico grato!

Abraços!

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Ehehehe, estou com este mesmo problema, estou desde ontem procurando uma solução e ainda não consegui...

Passei o dia inteiro olhando para uma rotina parecisa com a sua e nada de conseguir fazer funcionar..

Prometo que assim que eu conseguir, te ajudo neste tópico, pois sei como é trabalhar com essa linguagem maldita...

Abraço!

Link para o comentário
Compartilhar em outros sites

  • 0

Olá.

Já tentei, mas sempre pega da mesma linha. Acho que cada linha tinha que ter um ID diferente, se é que eu entendi.

você sabe como fazer? Eu estou apanhando aqui, hehehehehe

PS - em JS, preciso obter os valores para fazer os cálculos. Mas vou precisar obter este valor em PHP para gravar na base de dados tb.

Link para o comentário
Compartilhar em outros sites

  • 0

i aew Manoel Zancheta, bom tenta tipo assim:

<html>
<head>
<script type='text/javascript'>

	window.onload = function(){
		MostraDados();
	}

	function MostraDados()
	{
		var trs = document.getElementById( 'MinhaTabela' ).rows ;
		var todos = null ;
		for ( var i = 0 ; i < trs.length ; i++ )
		{
			todos = trs[i].cells ;
			for ( var j = 0 ; j < todos.length ; j++ )
				alert( todos[j].innerHTML ) ;

		}
	}

</script>
</head>
<title>Pagina</title>
<body>
	<table  id="MinhaTabela">
		<tr>
			<td>A-1</td>
			<td>A-2</td>
			<td>A-3</td>
		</tr>
		<tr>
			<td>B-1</td>
			<td>B-2</td>
			<td>B-3</td>
		</tr>
		<tr>
			<td>C-1</td>
			<td>C-2</td>
			<td>C-3</td>
		</tr>
	</table>
</body>
</html>

espero que ajude abraço!

Link para o comentário
Compartilhar em outros sites

  • 0

Grande Romerito, na mosca!!!!

Funcionou que é uma beleza!!!

Parte do problema resolvido. Dest forma com JS eu manipulo as informações enquanto o usuário estiver digitando as informações. Agora eu preciso ler esta informações em PHP para fazer a gravação na base de dados.

Tens idéia de como fazer?

Editado por Manoel Zancheta
Link para o comentário
Compartilhar em outros sites

  • 0

i aew carinha tenta tipo assim:

<html>
<head>
<style type='text/css'>

</style>
<script type='text/javascript'>

	window.onload = function(){
		MostraDados();
	}

	function MostraDados()
	{
		var frm = document.frm ;
		var trs = document.getElementById( 'MinhaTabela' ).rows ;
		var todos = null ;
		var inp = null ;

		for ( var i = 0 ; i < trs.length ; i++ )
		{
			todos = trs[i].cells ;
			for ( var j = 0 ; j < todos.length ; j++ )
			{
				inp = document.createElement( 'input' ) ;
				inp.setAttribute( 'value' , todos[j].innerHTML ) ;
				inp.setAttribute( 'name'  , 'td' + i + '' +  j ) ;
				inp.setAttribute( 'type'  , 'hidden' ) ;
				frm.appendChild( inp ) ;
			}
		}
	}

</script>
</head>
<title>Pagina</title>
<body>
	<table  id="MinhaTabela">
		<tr>
			<td>A-1</td>
			<td>A-2</td>
			<td>A-3</td>
		</tr>
		<tr>
			<td>B-1</td>
			<td>B-2</td>
			<td>B-3</td>
		</tr>
		<tr>
			<td>C-1</td>
			<td>C-2</td>
			<td>C-3</td>
		</tr>
	</table>
	<form method="POST" action="pagina.php" name="frm" >
		<input type="submit" />
	</form>
</body>
</html>
e na sua pagina PHP faz o teste:
<?php
echo '<pre>';
print_r( $_POST );
echo '</pre>';
?>

espero que ajude abraço!

Editado por Romerito
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...