Cadastros dinamicos PHP

13 respostas
fuadksd

Olá. To com um problema aqui pra fazer um cadastro dinâmico. Como assim?

Esse cadastro tem que permitir que o usuario vá adicionando quantos itens queira, u seja vai ter um botão “adiciona item” que vai replicar o form de item e o usuario preenche. Se clicar em “adiciona item” de novo, copia-se o form de novo. Já enjambrei o javascript (n so muito bom nisso), mas n sei como passar isso ao php.

Pensei em passar como array, mas n deu mto certo (eu n manjo mto de php, meu negocio é java hehe). Mas então se alguém souber fala aí. (Não uso framework nehum).

13 Respostas

perdeu

posta ai o codigo, uma manei facil de pegar esses campos dinamicos é colocar [] no name.

<input type="text" name="nome[]" />
fuadksd

ok. mas os id’s teriam que ser modificados na cópia via javascript, né?

perdeu

n a menos q vc vai fazer algum coisa com o campo por exemplo mudar de cor, desativar/ativar ele;
pro php o que vale é name.

no caso o post vai vim assim

nome=>array [0]=>"maria" [1]=> "paulo" [2]=> "joão"

fuadksd

precisa pq tem ajax no meio. umas combos que muda uma atualiza outra, entao precisa do id.

perdeu

nesse caso dai q tem mudar o id na copia.

fuadksd

pois é. e o pior é que isso afeta outras partes do sistema. ta começando a ficar inviavel. outra ideia seria fazer no formato “wizard”, mas tambem requere muito controle de etapas e tal (é muito trabalho braçal pra uma coisa que deveria ser simples).

fuadksd

alguem tem algum exemplo disso? eu sei

fuadksd

alguem tem algum exemplo disso? eu sei que no sqlbuddy tem varios assim, só que o modelo de codigo deles é bastante complicado.

douglaskd

deixa eu ver se entendi, você tem um form completo, quando a pessoa clica em ADD, esse form completo deve ser duplicado…

depois no final tem um botão sei la…Salvar…nessa hora seu sistema envia todos os formularios por post para o php…

la no php você passa um for no numero de formularios e salva…


olha, eu vou dar minha opinião…eu ficaria bem perdido em um sistema assim… com vários formularios… a melhor forma pra mim em um sistema, é ver uma tabela e abaixo um formulário, quando clico em ADD, ele pega os dados desse formulario…joga na tabela e limpa o formulário…na tabela, eu teria os botões excluir, editar para cada linha…


em asp.net isso é muito simples, pois o ajax é automático… em php…segue um micro tuto, remover a ação do botão add, e criar uma função jquery que receba como parâmetro os campos do formulário e chame o salvar.php via ajax passando os dados por post… no php vc salva esse formulario no BD e retorna um Json com os outros formularios previamente adicionados, no final da função do jquery você pega esse resultado que o php te retornou e joga todos os registros dentro da tabela, os botões de excluir e editar seguem o mesmo padrão…

no caso o botão excluir envia alguma informação que identifique aquele formulário como unico (uma chave primaria) e no php você efetua a exclusão e no final da função de exclusão você remove o elemento da tabela

o botão de editar também possui uma função js, que pega os dados da linha da tabela clicada e joga dentro do formulário para edição e altera a ação do método ADD para uma outra função que chama Editar, no final da função Editar, altera novamente a ação do botão para ADD e limpa o formulário

fuadksd

entendi. esse tipo de form eu vou implementar tb. mas esse caso especifico dos forms dinamicos nao tem como substituir.

é assim:

uma nota fiscal vai ser cadastrada e essa nota contem varios itens. a ideia seria que tu pudesse replicar o form pra cada item. e outra, uma vez a nf cadastrada no banco fica bem chatinho de editar (adicionar itens depois). por enquanto vou limitar a 10 itens (10 forms)escondidos na pagina quando tu clicar em add ele mostra o form. não é o ideal (apenas provisorio)

douglaskd

fuadksd:
entendi. esse tipo de form eu vou implementar tb. mas esse caso especifico dos forms dinamicos nao tem como substituir.

é assim:

uma nota fiscal vai ser cadastrada e essa nota contem varios itens. a ideia seria que tu pudesse replicar o form pra cada item. e outra, uma vez a nf cadastrada no banco fica bem chatinho de editar (adicionar itens depois). por enquanto vou limitar a 10 itens (10 forms)escondidos na pagina quando tu clicar em add ele mostra o form. não é o ideal (apenas provisorio)

coloque como você deixou os inputs pra eu dar uma olhada, com javascript da pra criar elementos dinamicos, apends =)

fuadksd

cara eu to fazendo uma funcao em javascript pra fazer isso

só que é bem complicadinha:

copia o modelo do form;

limpa ele;

procura o indice que ta sendo usado (o form original comeca em 0);

soma 1 no indice;

atualiza todos os ids desse novo form concatenando o novo indice;

da um append nele.

to fazendo com jquery

douglaskd

humm

Criado 4 de abril de 2012
Ultima resposta 13 de abr. de 2012
Respostas 13
Participantes 3