Bom dia,
Estou querendo adicionar campos dinâmicos a um formulário. Por exemplo: um cadastro de telefones de uma pessoa preciso que preencha com todos os telefones, no mínimo um, podendo ter vários.
Alguém tem alguma dica?
Abraço.
Autor: Tiago Stifft
33 comentários
$pc = $frm->addPageControl('pc');
$pc->addPage('Cadastro',true,true,'abaCadastro'); $frm->addTextField('nome','Nome:',50,true,50);
$frm->addMemoField('endereco','Endereco:',120,false,60,1);
$frm->addTextField('bairro','Bairro:',30)
$fldCep = $frm->addCepField('cep','CEP:',false,null,null,'des_endereco','nom_bairro','cidade','uf',null,null,null,null,null);
$frm->addTextField('cidade','Cidade:',30,false);
$frm->addSelectField('uf','Uf:',2);
//$frm->addTextField('uf','Estado:',02,false,null,null,false);
$frm->addTextField('email','Email:',50,false,50);
$frm->addHtmlGride('campo_telefones','./modulos/cad_pessoas/telefone.php','gdx');
$frm->addButton('Salvar','salvar','btnSalvar',null,null,true,false);
$frm->addButton('Limpar','limpar','btnLimpar',null,null,false,false);
$pc->addPage('Listagem');
$frm->addHtmlField('html_gride','Aqui sera carregado o gride');
$frm->processAction();
$g = new TGrid('gd' ,'Listagem das Pessoas', PessoasDAO::selectAll('nome') ,null,null,'id');
$frm->set('html_gride',$g); // ou $frm->getField('gride')->add($g);
$frm->show();
?> E esse é o meu telefones.php $frm = new TForm(null,150,800);
$frm->setcss('background-color','#EEDD82');
$frm->addHiddenField('id_fone'); $frm->addJavascript('gridCallBack(REQUEST)'); $frm->addHiddenField('id_pessoas');
$frm->addSelectField('tipo','Tipo de Telefone:',null,'0=Residencial,1=Trabalho,2=Celular',null,null,'');
$frm->addFoneField('numero','Telefone:');
$frm->addTextField('teste','Teste',60,false,60); $res['TIPO_FONE'][0] = 'tipo'; $res['NUMERO_FONE'][1] = 'numero'; $res=null; $grid = new TGrid('gdfones','',$res,null,null,'SEQ_MOEDA,SEQ_DOCUMENTO',null,null,'./modulos/cad_pessoas/telefone.php');
$grid->setForm($frm,false);
$grid->setShowAdicionarButton(true); $grid->show();
$frm = new TForm('Cadastro de Pessoas');
$frm->addHiddenField('id');
$pc = $frm->addPageControl('pc');
$pc->addPage('Cadastro',true,true,'abaCadastro');
$frm->addTextField('nome','Nome:',50,true,50);
$frm->addMemoField('endereco','Endereco:',120,false,60,1);
$frm->addTextField('bairro','Bairro:',30);
$frm->addCepField('cep','CEP:',false,null,null,'des_endereco','nom_bairro','cidade','uf',null,null,null,null,null);
$frm->addTextField('cidade','Cidade:',30,false);
$frm->addSelectField('uf','Uf:',2);
//$frm->addTextField('uf','Estado:',02,false,null,null,false);
$frm->addTextField('email','Email:',50,false,50);
$frm->addHtmlGride('campo_telefones','modulos/cad_pessoa/telefone.php','gdfones',null,null,null,null,'id_pessoas');
$frm->addButton('Salvar','salvar','btnSalvar',null,null,true,false);
$frm->addButton('Limpar','limpar','btnLimpar',null,null,false,false);
$pc->addPage('Listagem');
$frm->addHtmlField('html_gride','');
$frm->processAction();
$g = new TGrid('gd' ,'Listagem das Pessoas', null ,null,null,'id');
$frm->set('html_gride',$g); // ou $frm->getField('gride')->add($g);
$frm->show();
?> telefone.php <?php
$frm = new TForm(null,70,800);
$frm->setcss('background-color','#EEDD82');
$frm->addHiddenField('id_fone');
$frm->addHiddenField('id_pessoas');
$frm->addSelectField('tipo','Tipo de Telefone:',true,'0=Residencial,1=Trabalho,2=Celular',null,null,'');
$frm->addFoneField('numero','Telefone:',true,false); // recuperar os telefones da pessoa que já estão salvos
$dados = TelefonesDAO::selectAll(null,"id_pessoas = '".$frm->get('id_pessoas')."'"); $grid = new TGrid('gdfones','Telefone(s)',$dados,null,null,'ID_FONE',null,null,'modulos/cad_pessoas/telefone.php');
$grid->setForm($frm,false);
$grid->setShowAdicionarButton(true);
$grid->show();
?>