This commit is contained in:
KONE SOREL 2026-03-24 12:12:41 +00:00
parent e13c06bb0e
commit 283238fec8

View File

@ -22,44 +22,34 @@
<div class="col-xl-12">
<div class="card border-0 shadow-sm">
<div class="card-body">
<form enctype="multipart/form-data" action="Gedadherent" method="post">
<form id="form_ged_adherent" enctype="multipart/form-data" action="Gedadherent" method="post">
<div class="row g-3">
<div class="col-md-3">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Période du") ?></label>
<div class="input-group input-group-sm">
<span class="input-group-text bg-white"><i class="far fa-calendar-alt"></i></span>
<input class="form-control datepicker text-center" type="text" id="d1" name="d1"
value="<?= dateLang($_SESSION['dUneSemaineAvant_C'], $_SESSION['lang']) ?>" required>
<span class="input-group-text bg-light fw-bold"><?= _("au") ?></span>
<input class="form-control datepicker text-center" type="text" id="d2" name="d2"
value="<?= dateCouranteLang($_SESSION['lang']) ?>" required>
</div>
</div>
<div class="col-md-5">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Nom du document") ?></label>
<input class="form-control form-control-sm" type="text" id="nomOrigine" name="nomOrigine" placeholder="<?= _("Rechercher un fichier...") ?>">
</div>
<div class="col-md-4">
<label class="form-label fw-bold small text-muted text-uppercase">
<?= _("Type Document") ?><span class="required-star">*</span>
<?= _("Type Document") ?><span class="text-danger">*</span>
</label>
<select class="form-select" id="codeNaturePiece" name="codeNaturePiece" required>
<?php liste_options($naturepiece,""); ?>
<select class="form-select form-select-sm border-primary-subtle" id="codeNaturePiece" name="codeNaturePiece" required>
<?php liste_options($naturepiece, ""); ?>
</select>
</div>
<div class="col-md-10">
<div class="col-md-3" id="div_autre_type" style="display: none;">
<label class="form-label fw-bold small text-muted text-uppercase">
<?= _("Préciser si autre type") ?><span class="text-danger">*</span>
</label>
<input type="text" class="form-control form-control-sm border-warning" id="libelleAutre" name="libelleAutre" placeholder="<?= _("Saisissez le type...") ?>">
</div>
<div class="col-md-9">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Nouveau Document") ?></label>
<input class="form-control form-control-sm border-info" name="fichier_upload" type="file" id="fichier_upload">
</div>
<div class="col-md-2 d-flex align-items-end gap-2">
<button type="button" class="btn btn-primary btn-sm flex-fill fw-bold" onclick="lister_ged_adherent();">
<div class="col-md-3 d-flex align-items-end gap-2">
<button type="button" class="btn btn-primary btn-sm flex-fill fw-bold shadow-sm" onclick="lister_ged_adherent();">
<i class="fas fa-sync-alt me-1"></i> <?= _("Filtrer") ?>
</button>
<button type="submit" name="submit" class="btn btn-success btn-sm flex-fill fw-bold">
<button type="submit" id="btn_submit_ged" name="submit" class="btn btn-success btn-sm flex-fill fw-bold shadow-sm">
<i class="fas fa-upload me-1"></i> <?= _("Envoyer") ?>
</button>
</div>
@ -121,4 +111,60 @@
</div>
</div>
</div>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
const selectNature = document.getElementById('codeNaturePiece');
const divAutre = document.getElementById('div_autre_type');
const inputAutre = document.getElementById('libelleAutre');
const form = document.getElementById('form_ged_adherent');
// 1. Gérer l'affichage dynamique du champ "Autre"
selectNature.addEventListener('change', function() {
if (this.value === 'AUT') {
divAutre.style.display = 'block';
inputAutre.setAttribute('required', 'required');
inputAutre.focus();
} else {
divAutre.style.display = 'none';
inputAutre.removeAttribute('required');
inputAutre.value = '';
}
});
// 2. Contrôle du formulaire au Submit avec alerte Ebene
form.addEventListener('submit', async function(e) {
const valNature = selectNature.value;
const fileInput = document.getElementById('fichier_upload');
// Cas : Type de document non sélectionné
if (valNature === "") {
e.preventDefault(); // On bloque l'envoi immédiatement
await alert_ebene(
"Veuillez sélectionner un Type de Document avant l'envoi.",
"Please select a Document Type before sending."
);
selectNature.classList.add('is-invalid');
selectNature.focus();
return false;
}
// Cas : Type "Autre" sélectionné mais libellé vide
if (valNature === 'AUT' && inputAutre.value.trim() === "") {
e.preventDefault();
await alert_ebene(
"Veuillez préciser le type de document dans le champ orange.",
"Please specify the document type in the orange field."
);
inputAutre.classList.add('is-invalid');
inputAutre.focus();
return false;
}
});
});
</script>