John Hebert Trindade Posted January 24, 2026 at 08:57 PM Report #635570 Posted January 24, 2026 at 08:57 PM Boa noite a todos, tenho um sistema desenvolvido em PHP com a estrutura MVC, mas falta uns toque finais. Tenho um Formulário com duas Abs (Clientes e Herdeiros) O Cadastro de cliente esta a funcionar correctamente, também criei uma janela Modal para incluir os herdeiros Mas os campos para a inclusão de herdeiros só serão apresentadas se escolher a opção "SIM" em um campo select, até aqui tudo bem. Quando clico no botão fechar da janela Modal ela adiciona os filhos a lista, sem recarregar a página através de javascript Na lista de herdeiros tenho um botão dropdown que ao clicar nele tenho a opção de editar, visualizar ou excluir, mas quando clico nele recarrega a pagina, já refiz o código todo para ver se estava faltando fechar alguma tag, mas nao esta. Espero ter sido claro. View Add.php <?php if (!defined('Senha')) { header('Location:/'); exit('Erro: Página não encontrada'); } if (isset($this->data['form'])) { $valorForm = $this->data['form']; } ?> <span id="url-adm" data-url-adm="<?= URLADM ?>"></span> <!-- Inicio do conteudo do administrativo --> <div class="wrapper"> <div class="row"> <div class="top-list"> <span class="title-content">Cadastrar Processo de Cliente</span> <div class="top-list-right"> <?= $this->utils::responsiveButtons([ [ 'label' => 'Cartão Cidadão', 'icon' => 'fa-solid fa-address-card', 'attributes' => [ 'href' => '#', 'class' => 'btn-success', ], ], [ 'label' => 'Listar Processos', 'icon' => 'fa-solid fa-rectangle-list', 'attributes' => [ 'href' => '/list-processos/index', 'class' => 'btn-info', 'title' => 'Listar Processos', ], ], ]) ?> </div> </div> <!--Alerta de mensagem--> <div class=" content-adm-alert"> <?php $this->utils->getSessionMsg(); ?> <span id="msg"></span> </div> <!-- Fim da alerta de mensagem --> <!-- Incio da chamada de criação das Abas--> <div class="tab"> <button id="tabPadrao" class="tab-button" onclick="abrirAba(event, 'cliente')">Cliente</button> <button class="tab-button" onclick="abrirAba(event, 'herdeiros')">Descententes</button> </div> <!-- Fim da chamada de criação das Abas--> <div class="content-adm"> <!-- Inicio do Formulário de Cliente --> <form method="POST" action="" id="form-add-cliente" class="form-adm"> <!-- Inicio da Aba Cliente --> <div class="content-abas" id="Cliente"> <div class="row-input" id="dados_gerais"> <div class="column" id="foto_cliente"> <figure> <img id="img" src="<?php echo URLADM . 'app/adms/assets/images/users/1/foto.jpg'; ?>"> </figure> <div class="top-list-right"> <?= $this->utils::responsiveButtons([ [ 'label' => 'Trocar Foto', 'icon' => 'fa-solid fa-camera-rotate', 'attributes' => [ 'href' => '#', 'class' => 'btn-success', ], ], [ 'label' => 'Apagar', 'icon' => 'fa-solid fa-trash-can', 'attributes' => [ 'href' => '#', 'class' => 'btn-danger', 'title' => 'Apagar Foto', 'onclick' => "return confirm('Tem certeza que deseja excluir esta foto?')", ], ], ]) ?> </div> </div> <div class="column" id="dados_cliente"> <div class="row-input" style="justify-content: flex-end; margin-top: 10px; margin-bottom: 10px;"> <div class="column" style="text-align: right;"> <span style="font-size: 14px; color: #666; font-weight: bold;"> Nº Processo: <input name="processo" id="processo" type="text" class="input-process" readonly value="<?= $this->data['proximo_processo'] ?? '----/----' ?>"> </span> </div> </div> <div class="row-input"> <div class="column"> <label for="adms_genero_id" class="title-input">Gênero:<span class="text-danger">*</span> </label> <select class="input-adm" name="adms_genero_id" id="adms_genero_id"> <option value="">Selecione</option> <?php foreach ($this->data['genero']['gen'] as $genero) { extract($genero); if ((isset($valorForm['adms_genero_id'])) and ($valorForm['adms_genero_id'] == $id)) { echo "<option value='$id' selected>$name_genero</option>"; } else { echo "<option value='$id'>$name_genero</option>"; } } ?> </select> </div> <div class="column"> <label for="adms_estado_civil_id" class="title-input">Estado Civil:</label> <select class="input-adm" name="adms_estado_civil_id" id="adms_estado_civil_id"> <option value="">Selecione</option> <?php foreach ($this->data['estadocivil']['estado'] as $estado) { extract($estado); if ((isset($valorForm['adms_estado_civil_id'])) and ($valorForm['adms_estado_civil_id'] == $id)) { echo "<option value='$id' selected>$name_estado</option>"; } else { echo "<option value='$id'>$name_estado</option>"; } } ?> </select> </div> </div> <div class="row-input"> <div class="column"> <?php $name = ''; if (isset($valorForm['name'])) { $name = $valorForm['name']; } ?> <label for="name" class="title-input">Nome:<span class="text-danger">*</span></label> <input type="text" name="name" id="name" class="input-adm" placeholder="Digite o nome completo" autocomplete="off" value="<?php echo $name; ?>" autofocus> </div> </div> <div class="row-input"> <div class="column"> <?php $morada = ''; if (isset($valorForm['morada'])) { $morada = $valorForm['morada']; } ?> <label for="morada" class="title-input">Morada:<span class="text-danger">*</span></label> <input type="text" name="morada" id="morada" class="input-adm" placeholder="Digite a morada" value="<?php echo $morada; ?>"> </div> </div> <div class="row-input"> <div class="column"> <?php $localidade = ''; if (isset($valorForm['localidade'])) { $localidade = $valorForm['localidade']; } ?> <label for="localidade" class="title-input">Localidade:<span class="text-danger">*</span></label> <input type="text" name="localidade" id="localidade" class="input-adm" placeholder="Digite a localidade" value="<?php echo $localidade; ?>"> </div> <div class="column"> <?php $codigopostal = ''; if (isset($valorForm['codigo_postal'])) { $codigopostal = $valorForm['codigo_postal']; } ?> <label for="codigo_postal" class="title-input">Código Postal:<span class="text-danger">*</span></label> <input type="text" name="codigo_postal" id="codigo_postal" data-js="postal" maxlength="8" class="input-adm" placeholder="0000-000" value="<?php echo $codigopostal; ?>"> </div> </div> <label for="adms_distrito_id" class="title-input">Autarquivas da morada:</label> <div class="row-input"> <div class="column"> <label for="adms_distrito_id" class="title-input">Distrito:<span class="text-danger">*</span> </label> <select class="input-adm" name="adms_distrito_id" id="adms_distrito_id1" onchange="selectConcelho(1)"> <option value="">Selecione</option> <?php foreach ($this->data['distrito']['dist'] as $dist) { extract($dist); if ((isset($valorForm['adms_distrito_id'])) and ($valorForm['adms_distrito_id'] == $id)) { echo "<option value='$id' selected>$name_distrito</option>"; } else { echo "<option value='$id'>$name_distrito</option>"; } } ?> </select> </div> <div class="column"> <label for="adms_concelho_id" class="title-input">Concelho:<span class="text-danger">*</span> </label> <select class="input-adm" name="adms_concelho_id" id="adms_concelho_id1" onchange="selectFreguesia(1)"> <option value="">Selecione</option> <?php foreach ($this->data['concelho']['conc'] as $conc) { extract($conc); if ((isset($valorForm['adms_concelho_id'])) and ($valorForm['adms_concelho_id'] == $id_conc)) { echo "<option value='$id_conc' selected>$name_concelho</option>"; } else { echo "<option value='$id_conc'>$name_concelho</option>"; } } ?> </select> </div> <div class="column"> <label for="adms_freguesia_id" class="title-input">Freguesia:<span class="text-danger">*</span></label> <select class="input-adm" name="adms_freguesia_id" id="adms_freguesia_id1"> <option value="">Selecione</option> <?php foreach ($this->data['freguesia']['freg'] as $freg) { extract($freg); if ((isset($valorForm['adms_freguesia_id'])) and ($valorForm['adms_freguesia_id'] == $id_freg)) { echo "<option value='$id_freg' selected>$name_freguesia</option>"; } else { echo "<option value='$id_freg'>$name_freguesia</option>"; } } ?> </select> </div> </div> </div> </div> <div class="row-input"> <div class="column"> <?php $data_nascimento = ''; if (isset($valorForm['data_nascimento'])) { $data_nascimento = $valorForm['data_nascimento']; } ?> <label for="data_nascimento" class="title-input">Data Nascimento:<span class="text-danger">*</span></label> <input type="date" name="data_nascimento" id="data_nascimento" maxlength="10" max="31/12/9999" class="input-adm" placeholder="dd/mm/aaaa" value="<?php echo $data_nascimento; ?>"> </div> <div class="column"> <label for="adms_pais_id" class="title-input">País:<span class="text-danger">*</span></label> <select class="input-adm" name="adms_pais_id" id="adms_pais_id"> <option value="">Selecione</option> <?php foreach ($this->data['pais']['pais'] as $pais) { extract($pais); if ((isset($valorForm['adms_pais_id'])) and ($valorForm['adms_pais_id'] == $id)) { echo "<option value='$id' selected>$name_pais</option>"; } else { echo "<option value='$id'>$name_pais</option>"; } } ?> </select> </div> <div class="column"> <label for="nacionalidade_conjuge_id" class="title-input">Nacionalidade:<span class="text-danger">*</span> </label> <select class="input-adm" name="nacionalidade_conjuge_id" id="nacionalidade_conjuge_id"> <option value="">Selecione</option> <?php foreach ($this->data['pais']['pais'] as $pais) { extract($pais); if ((isset($valorForm['nacionalidade_conjuge_id'])) and ($valorForm['nacionalidade_conjuge_id'] == $id)) { echo "<option value='$id' selected>$name_nacionalidade</option>"; } else { echo "<option value='$id'>$name_nacionalidade</option>"; } } ?> </select> </div> </div> <label for="localidade" class="title-input">Autarquivas ou Localidade do Nascimento:</label> <div class="row-input" id="divLocalidade"> <div class="column"> <?php $localidade_nasc_conjuge = ''; if (isset($valorForm['localidade_nasc_conjuge'])) { $localidade_nasc_conjuge = $valorForm['localidade_nasc_conjuge']; } ?> <label for="localidade_nasc_conjuge" class="title-input">Localidade do Nascimento:<span class="text-danger">*</span></label> <input type="text" name="localidade_nasc_conjuge" id="localidade_nasc_conjuge" class="input-adm" placeholder="Digite a localidade do nascimento" autocomplete="off" value="<?php echo $localidade_nasc_conjuge; ?>"> </div> </div> <div class="row-input" id="divAutarquias"> <div class="column"> <label for="adms_d_nasc_conj_id" class="title-input">Distrito:</label> <select class="input-adm" name="adms_d_nasc_conj_id" id="adms_distrito_id2" onchange="selectConcelho(2)"> <option value="">Selecione</option> <?php foreach ($this->data['distritonasc']['distnasc'] as $distnasc) { extract($distnasc); if ((isset($valorForm['adms_d_nasc_conj_id'])) and ($valorForm['adms_d_nasc_conj_id'] == $id_distnasc)) { echo "<option value='$id_distnasc' selected>$name_distrito</option>"; } else { echo "<option value='$id_distnasc'>$name_distrito</option>"; } } ?> </select> </div> <div class="column"> <label for="adms_c_nasc_conj_id" class="title-input">Concelho:</label> <select class="input-adm" name="adms_c_nasc_conj_id" id="adms_concelho_id2" onchange="selectFreguesia(2)"> <option value="">Selecione</option> <?php foreach ($this->data['concelhonasc']['concnasc'] as $concnasc) { extract($concnasc); if ((isset($valorForm['adms_c_nasc_conj_id'])) and ($valorForm['adms_c_nasc_conj_id'] == $id_concnasc)) { echo "<option value='$id_concnasc' selected>$name_concelho</option>"; } else { echo "<option value='$id_concnasc'>$name_concelho</option>"; } } ?> </select> </div> <div class="column"> <label for="adms_f_nasc_conj_id" class="title-input">Freguesia:</label> <select class="input-adm" name="adms_f_nasc_conj_id" id="adms_freguesia_id2"> <option value="">Selecione</option> <?php foreach ($this->data['freguesianasc']['fregnasc'] as $fregnasc) { extract($fregnasc); if ((isset($valorForm['adms_f_nasc_conj_id'])) and ($valorForm['adms_f_nasc_conj_id'] == $id_fregnasc)) { echo "<option value='$id_fregnasc' selected>$name_freguesia</option>"; } else { echo "<option value='$id_fregnasc'>$name_freguesia</option>"; } } ?> </select> </div> </div> <div class="row-input"> <div class="column"> <label for="adms_cons_nasc_conj_id" class="title-input">Conservatória Nascimento:</label> <select class="input-adm" name="adms_cons_nasc_conj_id" id="adms_cons_nasc_conj_id"> <option value="">Selecione</option> <?php foreach ($this->data['conservatoria']['conserv'] as $consNascimento) { extract($consNascimento); if ((isset($valorForm['adms_cons_nasc_conj_id'])) and ($valorForm['adms_cons_nasc_conj_id'] == $id_conserv)) { echo "<option value='$id_conserv' selected>$conservatoria</option>"; } else { echo "<option value='$id_conserv'>$conservatoria</option>"; } } ?> </select> </div> <div class="column"> <?php $ano_nasc_conjuge = ''; if (isset($valorForm['ano_nasc_conjuge'])) { $ano_nasc_conjuge = $valorForm['ano_nasc_conjuge']; } ?> <label for="ano_nasc_conjuge" class="title-input">Ano do Registo de Nascimento:<span class="text-danger">*</span></label> <input type="text" name="ano_nasc_conjuge" id="ano_nasc_conjuge" class="input-adm" placeholder="2000" autocomplete="off" value="<?php echo $ano_nasc_conjuge; ?>"> </div> <div class="column"> <?php $reg_nasc_conjuge = ''; if (isset($valorForm['reg_nasc_conjuge'])) { $reg_nasc_conjuge = $valorForm['reg_nasc_conjuge']; } ?> <label for="reg_nasc_conjuge" class="title-input">Nº do Registo de Nascimento:<span class="text-danger">*</span></label> <input type="text" name="reg_nasc_conjuge" id="reg_nasc_conjuge" class="input-adm" placeholder="0000" autocomplete="off" value="<?php echo $reg_nasc_conjuge; ?>"> </div> </div> <div class="row-input"> <div class="column"> <?php $pai = ''; if (isset($valorForm['name_pai'])) { $pai = $valorForm['name_pai']; } ?> <label for="name_pai" class="title-input">Pai:</label> <input type="text" name="name_pai" id="name_pai" class="input-adm" placeholder="Digite o nome" value="<?php echo $pai; ?>"> </div> </div> <div class="row-input"> <div class="column"> <?php $mae = ''; if (isset($valorForm['name_mae'])) { $mae = $valorForm['name_mae']; } ?> <label for="name_mae" class="title-input">Mãe:</label> <input type="text" name="name_mae" id="name_mae" class="input-adm" placeholder="Digite o nome" value="<?php echo $mae; ?>"> </div> </div> <label for="beneficiario1" class="title-input">Número do Beneficiário:</label> <div class="row-input"> <div class="column"> <?php $beneficiario1 = ''; if (isset($valorForm['beneficiario1'])) { $beneficiario1 = $valorForm['beneficiario1']; } ?> <label for="beneficiario1" class="title-input">CNP:</label> <input type="text" name="beneficiario1" id="beneficiario1" data-js="cnp" class="input-adm" placeholder="###.###.###-##" value="<?php echo $beneficiario1; ?>"> </div> <div class="column"> <?php $beneficiario2 = ''; if (isset($valorForm['beneficiario2'])) { $beneficiario2 = $valorForm['beneficiario2']; } ?> <label for="beneficiario2" class="title-input">CGA:</label> <input type="text" name="beneficiario2" id="beneficiario2" class="input-adm" value="<?php echo $beneficiario2; ?>"> </div> <div class="column"> <?php $beneficiario3 = ''; if (isset($valorForm['beneficiario3'])) { $beneficiario3 = $valorForm['beneficiario3']; } ?> <label for="beneficiario3" class="title-input">Outros:</label> <input type="text" name="beneficiario3" id="beneficiario3" class="input-adm" value="<?php echo $beneficiario3; ?>"> </div> </div> <div class="row-input"> <div class="column"> <label for="adms_tipo_doc_id" class="title-input">Tipo do Documento:<span class="text-danger">*</span> </label> <select class="input-adm" name="adms_tipo_doc_id" id="adms_tipo_doc_id"> <option value="">Selecione</option> <?php foreach ($this->data['tipo_documento']['tipo'] as $tipo) { extract($tipo); if ((isset($valorForm['adms_tipo_doc_id'])) and ($valorForm['adms_tipo_doc_id'] == $id)) { echo "<option value='$id' selected>$tipo_documento</option>"; } else { echo "<option value='$id'>$tipo_documento</option>"; } } ?> </select> </div> <div class="column"> <?php $numero_doc = ''; if (isset($valorForm['numero_doc'])) { $numero_doc = $valorForm['numero_doc']; } ?> <label for="numero_doc" class="title-input">Número documento:<span class="text-danger">*</span></label> <input type="text" name="numero_doc" id="numero_doc" class="input-adm" placeholder="Digite o nome" value="<?php echo $numero_doc; ?>"> </div> <div class="column"> <label for="adms_arquivo_id" class="title-input">Arquivo de Identificação:<span class="text-danger">*</span> </label> <select class="input-adm" name="adms_arquivo_id" id="adms_arquivo_id"> <option value="">Selecione</option> <?php foreach ($this->data['arquivo']['arq'] as $arq) { extract($arq); if ((isset($valorForm['adms_arquivo_id'])) and ($valorForm['adms_arquivo_id'] == $id)) { echo "<option value='$id' selected>$name_arquivo</option>"; } else { echo "<option value='$id'>$name_arquivo</option>"; } } ?> </select> </div> <div class="column"> <?php $data_emissao = ''; if (isset($valorForm['data_emissao'])) { $data_emissao = $valorForm['data_emissao']; } ?> <label for="data_emissao" class="title-input">Data emissão:<span class="text-danger">*</span></label> <input type="date" name="data_emissao" id="data_emissao" maxlength="10" max="31/12/9999" class="input-adm" placeholder="dd/mm/aaaa" value="<?php echo $data_emissao; ?>"> </div> </div> <div class="row-input"> <div class="column"> <?php $data_validade = ''; if (isset($valorForm['data_validade'])) { $data_validade = $valorForm['data_validade']; } ?> <label for="data_validade" class="title-input">Data Validade:<span class="text-danger">*</span></label> <input type="date" name="data_validade" id="data_validade" maxlength="10" max="31/12/9999" class="input-adm" placeholder="dd/mm/aaaa" value="<?php echo $data_validade; ?>"> </div> <div class="column"> <label for="nif_pais" class="title-input">Número de Identificação Fiscal:<span class="text-danger">*</span></label> <div style="display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; gap: 5px; width: 100%; align-items: flex-end;"> <?php $nif_pais = ''; if (isset($valorForm['nif_pais'])) { $nif_pais = $valorForm['nif_pais']; } ?> <input type="text" name="nif_pais" id="nif_pais" onchange="SetMaxLength()" class="input-adm" maxlength="2" placeholder="PT" value="<?php echo $nif_pais; ?>" style="width: 60px !important; flex-shrink: 0 !important; text-align: center; text-transform: uppercase;"> <?php $numero_nif = ''; if (isset($valorForm['numero_nif'])) { $numero_nif = $valorForm['numero_nif']; } ?> <input type="text" name="numero_nif" id="numero_nif" onkeyup="myFunction()" class="input-adm" value="<?php echo $numero_nif; ?>" style="flex-grow: 1 !important; width: 100%;"> </div> </div> </div> <div class="row-input"> <div class="column"> <?php $numero_eleitor = ''; if (isset($valorForm['numero_eleitor'])) { $numero_eleitor = $valorForm['numero_eleitor']; } ?> <label for="numero_eleitor" class="title-input">Número Eleitor:<span class="text-danger">*</span></label> <input type="text" name="numero_eleitor" id="numero_eleitor" class="input-adm" value="<?php echo $numero_eleitor; ?>"> </div> <div class="column"> <?php $freguesia_eleitor = ''; if (isset($valorForm['freguesia_eleitor'])) { $freguesia_eleitor = $valorForm['freguesia_eleitor']; } ?> <label for="freguesia_eleitor" class="title-input">Freguesia Eleitoral:</label> <input type="text" name="freguesia_eleitor" id="freguesia_eleitor" onkeyup="myFunction()" class="input-adm" value="<?php echo $freguesia_eleitor; ?>"> </div> <div class="column"> <div class="column margin-top-search"> <button type="submit" name="sendEleitor" class="btn-info" value="Pesquisar">Pesquisar</button> </div> </div> </div> </div> <!-- Fim da Aba Cliente--> <!-- Inicio da Aba descententes/herdeiros --> <div class="content-abas" id="herdeiros"> <div class="row-input"> <div class="column"> <label for="herdeiros_id" class="title-input">Deixou descendentes/herdeiros:<span class="text-danger">*</span> </label> <div class="column"> <select class="input-adm" name="herdeiros_id" id="herdeiros_id"> <option value="">Selecione</option> <?php foreach ($this->data['resposta']['resposta'] as $bens) { extract($bens); if ((isset($valorForm['herdeiros_id'])) and ($valorForm['herdeiros_id'] == $id)) { echo "<option value='$id' selected>$resposta</option>"; } else { echo "<option value='$id'>$resposta</option>"; } } ?> </select> </div> <div class="wrapper" id="formFilhos"> <div class="row"> <div class="top-list"> <div class="top-list-right"> <?= $this->utils::responsiveButtons([ [ 'label' => 'Adicionar Filhos', 'icon' => 'fa-solid fa-rectangle-list', 'attributes' => [ 'type' => 'button', 'id' => 'add-filhos', 'class' => 'btn-info', 'title' => 'Adicionar Filhos', 'onclick' => "abrirModal('modalFilhos')" ], ], ]) ?> </div> </div> <!-- Inicio da Tabela Listar --> <table class="table-list"> <thead class="list-head"> <tr> <th class="list-head-content">Nome</th> <th class="list-head-content">Data Nascimento</th> <th class="list-head-content table-md-none">Menor</th> <th class="list-head-content">Ações</th> </tr> </thead> <tbody class="list-body" id="tabela-filhos-container"> <?php if (!empty($this->data['listFilhos'])) { foreach ($this->data['listFilhos'] as $filho) { extract($filho); ?> <tr> <td class="list-body-content"><?php echo $name_filho; ?></td> <td class="list-body-content"><?php echo (!empty($data_nascimento_filho) && $data_nascimento_filho != '0000-00-00') ? date('d/m/Y', strtotime($data_nascimento_filho)) : '';?></td> <td class="list-body-content table-md-none"> <?php $idade = date_diff(date_create($data_nascimento_filho), date_create('now'))->y; echo ($idade < 18) ? "Sim" : "Não";?></td> <td class="list-body-content btn"> <div class="icon_botoes"> <a class="btn-primary" href="<?php echo URLADM; ?>view-filho/index/<?php echo $id; ?>"><i class="fa-solid fa-eye"></i></a> <a class="btn-warning" href="<?php echo URLADM; ?>edit-filho/index/<?php echo $id; ?>"><i class="fa-solid fa-pen-to-square"></i></a> <?php echo "<a class='btn-danger' href='" . URLADM . "delete-filho/index/$id' onclick='return confirm(\"Tem certeza?\")'><i class='fa-solid fa-trash-can'></i></a>"; ?> </div> <div class="dropdown-action"> <button type="button" class="dropdown-btn-action" onclick="actionDropdown(<?php echo $id; ?>); return false;"> Ações </button> <div id="actionDropdown<?php echo $id; ?>" class="dropdown-action-item"> <a href="<?php echo URLADM; ?>view-filho/index/<?php echo $id; ?>">Visualizar</a> <a href="<?php echo URLADM; ?>edit-filho/index/<?php echo $id; ?>">Editar</a> <a href="<?php echo URLADM; ?>delete-filho/index/<?php echo $id; ?>" onclick="return confirm('Tem certeza?')">Apagar</a> </div> </div> </td> </tr> <?php } } ?> </tbody> </table> <!-- Fim da Tabela Listar --> </div> </div> </div> </div> <div class="row-input"> <div class="column"> <label for="bens" class="title-input">Deixou Bens:<span class="text-danger">*</span> </label> <select class="input-adm" name="bens" id="bens"> <option value="">Selecione</option> <?php foreach ($this->data['resposta']['resposta'] as $bens) { extract($bens); if ((isset($valorForm['bens'])) and ($valorForm['bens'] == $id)) { echo "<option value='$id' selected>$resposta</option>"; } else { echo "<option value='$id'>$resposta</option>"; } } ?> </select> </div> <div class="column"> <label for="testamentos" class="title-input">Fez testamentos:<span class="text-danger">*</span> </label> <select class="input-adm" name="testamentos" id="testamentos"> <option value="">Selecione</option> <?php foreach ($this->data['resposta']['resposta'] as $bens) { extract($bens); if ((isset($valorForm['testamentos'])) and ($valorForm['testamentos'] == $id)) { echo "<option value='$id' selected>$resposta</option>"; } else { echo "<option value='$id'>$resposta</option>"; } } ?> </select> </div> </div> </div> <!-- Fim da Aba descententes/herdeiros --> <span id="msgViewStrength"><br></span> <p class="text-danger mb-5 fs-4">* Campo Obrigatório</p><br> <button type="submit" name="SendAddProcesso" class="btn-warning" value="Cadastrar">Cadastrar</button> </form> <!-- Fim do Formulário de Funeral --> </div> </div> </div> <!-- Fim do conteudo do administrativo --> Janela Modal que esta no final da View app.php <!-- Modal de cadastro de filhos --> <div id="modalFilhos" style="display: none; position: fixed; z-index: 9999; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.6); font-family: sans-serif;"> <div style="background-color: #fefefe; margin: 2% auto; width: 85%; max-width: 1000px; border-radius: 6px; box-shadow: 0 5px 15px rgba(0,0,0,0.3); display: flex; flex-direction: column;"> <div style="padding: 15px 20px; border-bottom: 1px solid #dee2e6; display: flex; justify-content: space-between; align-items: center; background-color: #fff; border-top-left-radius: 6px; border-top-right-radius: 6px;"> <h3 style="margin: 0; font-size: 1.25rem; color: #333;">Cadastrar Filhos</h3> <button type="button" onclick="fecharModal('modalFilhos')" style="background: none; border: none; font-size: 1.5rem; cursor: pointer; color: #000; opacity: 0.5;">×</button> </div> <div style="padding: 20px; max-height: 70vh; overflow-y: auto; background-color: #fff;"> <div class="wrapper"> <div class="row"> <div class="content-adm-alert"> <?php $this->utils->getSessionMsg(); ?> <span id="msg"></span> </div> <div class="content-adm"> <form method="POST" action="/add-filhos/index" id="form-add-filhos" class="form-adm"> <div class="row-input"> <div class="column"> <label for="adms_genero_id" class="title-input">Gênero:<span class="text-danger">*</span> </label> <input name="processo_id" id="processo_id" type="hidden" class="input-process" readonly value="<?= $this->data['proximo_processo'] ?? '----/----' ?>"> <select class="input-adm" name="adms_genero_id" id="adms_genero_id"> <option value="">Selecione</option> <?php foreach ($this->data['genero']['gen'] as $genero) { extract($genero); echo "<option value='$id' " . ((isset($valorForm['adms_genero_id']) && $valorForm['adms_genero_id'] == $id) ? 'selected' : '') . ">$name_genero</option>"; } ?> </select> </div> <div class="column"> <label for="beneficiario1" class="title-input">Número do Beneficiário:</label> <input type="text" name="beneficiario1" id="beneficiario1" data-js="cnp" class="input-adm" placeholder="###.###.###-##" value="<?= $valorForm['beneficiario1'] ?? '' ?>"> </div> </div> <div class="row-input"> <div class="column"> <label for="name_filho" class="title-input">Nome:<span class="text-danger">*</span></label> <input type="text" name="name_filho" id="name_filho" class="input-adm" placeholder="Digite o nome completo" autocomplete="off" value="<?= $valorForm['name'] ?? '' ?>" autofocus> </div> </div> <div class="row-input"> <div class="column"> <label for="data_nascimento_filho" class="title-input">Data Nascimento:<span class="text-danger">*</span></label> <input type="date" name="data_nascimento_filho" id="data_nascimento_filho" maxlength="10" class="input-adm" value="<?= $valorForm['data_nasc'] ?? '' ?>"> </div> <div class="column"> <label for="adms_grau_parentesco_id" class="title-input">Grau de Parentesco:</label> <select class="input-adm" name="adms_grau_parentesco_id" id="adms_grau_parentesco_id"> <option value="">Selecione</option> <?php foreach ($this->data['grau']['parentesco'] as $parentescoFilho) { extract($parentescoFilho); echo "<option value='$id' " . ((isset($valorForm['adms_grau_parentesco_id']) && $valorForm['adms_grau_parentesco_id'] == $id) ? 'selected' : '') . ">$name_parentesco</option>"; } ?> </select> </div> <div class="column"> <div class="row-input"> <div class="column"> <label for="pais_nif_filho" class="title-input">Número de Identificação Fiscal:<span class="text-danger">*</span></label> <div style="display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; gap: 5px; width: 100%; align-items: flex-end;"> <input type="text" name="pais_nif_filho" id="pais_nif_filho" onchange="SetMaxLength()" class="input-adm" maxlength="2" placeholder="PT" value="<?= $valorForm['nif_pais'] ?? '' ?>" style="width: 60px !important; flex-shrink: 0 !important; text-align: center; text-transform: uppercase;"> <input type="text" name="numero_nif_filho" id="numero_nif_filho" onkeyup="myFunction()" class="input-adm" value="<?= $valorForm['numero_nif'] ?? '' ?>" style="flex-grow: 1 !important; width: 100%;"> </div> </div> </div> </div> </div> <div class="row-input"> <div class="column"> <label for="grau_ensino" class="title-input">Grau de ensino:<span class="text-danger">*</span></label> <input type="text" name="grau_ensino" id="grau_ensino" class="input-adm" placeholder="Grau de ensino" value="<?= $valorForm['grau_ensino'] ?? '' ?>"> </div> <div class="column"> <label for="ano_ensino" class="title-input">Ano de ensino:<span class="text-danger">*</span></label> <input type="text" name="ano_ensino" id="ano_ensino" class="input-adm" placeholder="Ano de ensino" value="<?= $valorForm['ano_ensino'] ?? '' ?>"> </div> <div class="column"> <label for="trabalhador_id" class="title-input">Exerce actividade profissional:<span class="text-danger">*</span> </label> <select class="input-adm" name="trabalhador_id" id="trabalhador_id"> <option value="">Selecione</option> <?php foreach ($this->data['resposta']['resposta'] as $bens) { extract($bens); echo "<option value='$id' " . ((isset($valorForm['trabalhador_id']) && $valorForm['trabalhador_id'] == $id) ? 'selected' : '') . ">$resposta</option>"; } ?> </select> </div> <div class="column"> <label for="a_cargo_id" class="title-input">Esta a cargo do beneficiário:<span class="text-danger">*</span> </label> <select class="input-adm" name="a_cargo_id" id="a_cargo_id"> <option value="">Selecione</option> <?php foreach ($this->data['resposta']['resposta'] as $bens) { extract($bens); echo "<option value='$id' " . ((isset($valorForm['a_cargo_id']) && $valorForm['a_cargo_id'] == $id) ? 'selected' : '') . ">$resposta</option>"; } ?> </select> </div> <div class="column"> <label for="fisica_id" class="title-input">Possui doença Física?:<span class="text-danger">*</span> </label> <select class="input-adm" name="fisica_id" id="fisica_id"> <option value="">Selecione</option> <?php foreach ($this->data['resposta']['resposta'] as $bens) { extract($bens); echo "<option value='$id' " . ((isset($valorForm['fisica_id']) && $valorForm['fisica_id'] == $id) ? 'selected' : '') . ">$resposta</option>"; } ?> </select> </div> <div class="column"> <label for="psiquica_id" class="title-input">Possui doença Psicológica?:<span class="text-danger">*</span> </label> <select class="input-adm" name="psiquica_id" id="psiquica_id"> <option value="">Selecione</option> <?php foreach ($this->data['resposta']['resposta'] as $bens) { extract($bens); echo "<option value='$id' " . ((isset($valorForm['psiquica_id']) && $valorForm['psiquica_id'] == $id) ? 'selected' : '') . ">$resposta</option>"; } ?> </select> </div> </div> <div class="row-input"> <div class="column"> <label for="observacoes" class="title-input">Observações:</label> <textarea name="observacoes" id="observacoes" class="input-adm"><?= $valorForm['observacoes'] ?? '' ?></textarea> </div> </div> <span id="msgViewStrength"><br></span> <p class="text-danger mb-5 fs-4">* Campo Obrigatório</p><br> </form> </div> </div> </div> </div> <div style="padding: 15px 20px; border-top: 1px solid #dee2e6; display: flex; justify-content: flex-end; gap: 10px; background-color: #f8f9fa; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;"> <button type="button" onclick="fecharModal('modalFilhos')" style="padding: 8px 20px; background-color: #6c757d; color: white; border: none; border-radius: 4px; cursor: pointer;">Fechar</button> <button type="submit" form="form-add-filhos" name="SendAddFilho" style="padding: 8px 20px; background-color: #ffc107; color: #000; border: none; border-radius: 4px; cursor: pointer; font-weight: bold;">Incluir</button> </div> </div> </div> <!-- Fim da janela modal --> Este é o javascript completo: //permitir retorno no navegador if (window.history.replaceState) { window.history.replaceState(null, null, window.location.href) } /* Inicio Dropdown Navbar */ /* Cria a variavel para receber o que fizer no seletor */ let notification = document.querySelector('.notification') let avatar = document.querySelector('.avatar') /* Nome da função(dropMenu) que recebe o parametro(avatar / notification) */ dropMenu(avatar) dropMenu(notification) function dropMenu(selector) { selector.addEventListener('click', () => { let dropdownMenu = selector.querySelector('.dropdown-menu') /* Operação Ternária */ /* Se verdadeiro ? devolve verdadeiro : se não devolve segundo valor */ dropdownMenu.classList.contains('active') ? dropdownMenu.classList.remove('active') : dropdownMenu.classList.add('active') }) } function actionDropdown(id) { closeDropdownAction() document.getElementById('actionDropdown' + id).classList.toggle('show-dropdown-action') } window.onclick = function (event) { if (!event.target.matches('.dropdown-btn-action')) { /*document.getElementById("actionDropdown").classList.remove("show-dropdown-action");*/ closeDropdownAction() } } function closeDropdownAction() { var dropdowns = document.getElementsByClassName('dropdown-action-item') var i for (i = 0; i < dropdowns.length; i++) { var openDropdown = dropdowns[i] if (openDropdown.classList.contains('show-dropdown-action')) { openDropdown.classList.remove('show-dropdown-action') } } } /* Inicio dropdown sidebar */ var dropdownSidebar = document.getElementsByClassName('dropdown-btn') var i for (i = 0; i < dropdownSidebar.length; i++) { dropdownSidebar[i].addEventListener('click', function () { this.classList.toggle('active') var dropdownContent = this.nextElementSibling if (dropdownContent.style.display === 'block') { dropdownContent.style.display = 'none' } else { dropdownContent.style.display = 'block' } }) } //Abre a aba de documentos no meu cadastrar cliente document.getElementById('tabPadrao').click() function abrirAba(event, idAba) { const abas = document.getElementsByClassName('content-abas') for (var i = 0; i < abas.length; i++) { abas[i].style.display = 'none' } var tabs = document.getElementsByClassName('tab-button') for (var i = 0; i < tabs.length; i++) { tabs[i].className = tabs[i].className.replace(' active', '') } document.getElementById(idAba).style.display = 'block' event.currentTarget.className += ' active' } // Captura o select e o container da tabela const selectHerdeiros = document.getElementById('herdeiros_id') // ID corrigido const formFilhos = document.getElementById('formFilhos') // Adiciona o evento de escuta selectHerdeiros.addEventListener('change', function (event) { // Ajuste os cases conforme os IDs reais do seu banco (ex: 1 para "Sim", 2 para "Não") switch (event.target.value) { case '1': // Supondo que 1 seja "Sim" formFilhos.style.display = 'block' // ou 'grid', dependendo do seu layout break default: formFilhos.style.display = 'none' break } })
JakeBass Posted January 31, 2026 at 07:34 PM Report #635574 Posted January 31, 2026 at 07:34 PM (edited) O botão com a classe "dropdown-btn-action" não tem um type definido, então o browser assume que é submit, submete o formulário e carrega a página. Define o type como "button". <button type="button" class="dropdown-btn-action" onclick="actionDropdown(<?php echo $id; ?>)"> Ações </button> Edited February 5, 2026 at 07:59 AM by JakeBass Corrigir erro de soletração.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now