Cadastros dinamicos PHP

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).

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

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

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

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"

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

nesse caso dai q tem mudar o id na copia.

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).

alguem tem algum exemplo disso? eu sei

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

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

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)

[quote=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)[/quote]

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

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 id’s desse novo form concatenando o novo indice;
da um append nele.

to fazendo com jquery

humm