Jump to content

Recommended Posts

Posted

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;">&times;</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
  }
})

 

Posted (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 by JakeBass
Corrigir erro de soletração.

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.