Recuperar dados da tabela HTML para o PHP

Eu tenho uma tabela html dinâmica e eu quero recuperar os dados dessa tabela usando o método POST. É possível fazer isso? Que outras maneiras você recomendaria para conseguir isso. Aqui está um exemplo simples do que eu obtive:

 
John Appleseed Australia
Mary Poppins USA

Talvez seja possível armazenar a informação em uma matriz ou variável de javascript para publicá-la no arquivo de ação, não tenho certeza.

Não sei se isso tem algo a fazer, mas a tabela é gerada dinamicamente. As linhas e as células são adicionadas pelo usuário usando javascript.

Agradeceria muito suas respostas.

Uma tabela não pode ser acessada como tal, a menos que você use elementos de formulário ( input , área de textarea , etc.) e adicione atributo de name para eles; então, você pode acessar seus elementos com $_POST .

Se você tem seus dados em uma tabela, a melhor maneira de recuperar nossos dados é por JavaScript, usando innerHTML .

Você pode atribuir o innerHTML do formulário a uma variável e usar AJAX para enviá-lo de volta ao servidor como uma string, ou armazená-lo em uma área de textarea e fazer o mesmo. Independentemente disso, você precisa analisar a string para extrair os dados.

Uma tabela não é um controle de formulário, e não será enviada como dados do formulário, mesmo quando incluída em uma etiqueta de formulário (como em seu exemplo).

Se você deseja enviar os dados tabulares, você precisará usar o Javascript para extraí-lo. Em seguida, você pode inserir os dados em um elemento de formulário oculto ou enviar os dados por meio de uma chamada AJAX.

Você pode tentar usar:

HTML:

 

JavaScript:

 function submitAction() { var form = document.getElementById("form1"); form.table_content.value = document.getElementById("tblSample").innerHTML; return form.submit(); } 

Esta é uma maneira muito para resolver esse problema. Por exemplo: 1) Use o ajax: coloque seus dados em algum html container-like span com nome da class ‘formData_name’ por exemplo ou com id = ‘formData _’ + name = onde o nome é o nome desses dados. Então você em JS procura todo esse período e manda por ajax. Isso é muito simples se você usa jquery. Em js puros isso também não é difícil, mas o código será maior.

2) Coloque seus dados em algum html container-like span com nome da class ‘formData_name’ por exemplo ou com id = ‘formData _’ + name = onde o nome é o nome desses dados. Bind submit botão que, quando o usuário clicar em enviar, você cria um campo de input adicionado a dom input com o nome adn return true. 3) Você pode enviar o innerHTML por correio através do evento de envio obrigatório e adicionar o campo oculto para a loja innerHTML e analisá-lo no servidor 4) você pode replace todo o td para entrar na ação de envio

Mas todas essas soluções não são boas e se você deve fazer parte disso, então o projeto arquitetônico é ruim