intégration comptes ; correction calcul total (centimes)
FossilOrigin-Name: e2258a9966d61dda05c821ceee19965331f6b0204c0ecb63a1d5c9be86ee15ce
This commit is contained in:
parent
e4bcec41d1
commit
3543f50bd3
@ -69,7 +69,7 @@ function cocherDecocherLesPersonnes(idCaseGlobale, lesPersonnes)
|
||||
function cocherDecocherPersonne(idCase, idTotal)
|
||||
{
|
||||
// chercher le fieldset des versements
|
||||
let fieldset = idCase.closest("details").querySelector("fieldset");
|
||||
let fieldset = idCase.closest("details").querySelector("div.versements");
|
||||
let listeCases = fieldset.querySelectorAll("input[type=checkbox]");
|
||||
for (let i = 0; i < listeCases.length; ++i)
|
||||
{
|
||||
@ -87,7 +87,7 @@ function cocherDecocherPersonne(idCase, idTotal)
|
||||
*/
|
||||
function cocherDecocherVersement(idCase, idTotal)
|
||||
{
|
||||
let fieldset = idCase.closest("fieldset");
|
||||
let fieldset = idCase.closest("div.versements");
|
||||
let listeCases = fieldset.querySelectorAll("input[type=checkbox]");
|
||||
let listeMontants = fieldset.querySelectorAll("span.montant");
|
||||
calculerTotal(listeCases, listeMontants, idTotal);
|
||||
@ -105,7 +105,7 @@ function calculerTotal(listeCases, listeMontants, idTotal)
|
||||
for (let i = 0; i < listeCases.length; ++i)
|
||||
{
|
||||
if (listeCases[i].checked) {
|
||||
total += parseFloat(listeMontants[i].textContent.replace(/\s/g, ""));
|
||||
total += parseFloat(listeMontants[i].textContent.replace(/\s/g, "").replace(",", "."));
|
||||
}
|
||||
}
|
||||
// afficher le total
|
||||
@ -153,32 +153,29 @@ function verifierChoix(formulaire)
|
||||
}
|
||||
|
||||
/**
|
||||
* positionner l'action déclenchée par l'envoi du formulaire
|
||||
* afficher et masquer des portions de formulaire selon l'action
|
||||
* @param {HTMLFormElement} formulaire
|
||||
* @param {string} action après envoi du formulaire
|
||||
* @param {any} nomClasse1 classe des éléments à afficher
|
||||
* @param {any} nomClasse2 classe des éléments à masquer
|
||||
* @param {any} idElem id de l'élément à afficher
|
||||
* @param {any} nomClasse classe des éléments à masquer (sauf idElem)
|
||||
*/
|
||||
function choixMethodeGeneration(formulaire, action, nomClasse1, nomClasse2)
|
||||
function choixMethodeGeneration(formulaire, action, idElem, nomClasse)
|
||||
{
|
||||
console.log("id = " + idElem + ", cl = " + nomClasse);
|
||||
formulaire.setAttribute('action', 'action.php?action=' + action);
|
||||
afficherMasquer(formulaire, nomClasse1, nomClasse2);
|
||||
}
|
||||
|
||||
/**
|
||||
* afficher et masquer des portions de formulaire
|
||||
* @param {HTMLFormElement} formulaire
|
||||
* @param {any} nomClasse1 classe des éléments à afficher
|
||||
* @param {any} nomClasse2 classe des éléments à masquer
|
||||
*/
|
||||
function afficherMasquer(formulaire, nomClasse1, nomClasse2)
|
||||
{
|
||||
for (let elem of formulaire.querySelectorAll(nomClasse1)) {
|
||||
for (let elem of formulaire.querySelectorAll(nomClasse))
|
||||
{
|
||||
console.log("elem.id = " + elem.id + ", elem.classList = " + elem.classList);
|
||||
if (elem.id == idElem)
|
||||
{
|
||||
elem.classList.remove('hidden');
|
||||
}
|
||||
for (let elem of formulaire.querySelectorAll(nomClasse2)) {
|
||||
else
|
||||
{
|
||||
elem.classList.add('hidden');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -199,7 +196,7 @@ function verifierCases(idElem)
|
||||
// vérifier qu'un radio de la même ligne est sélectionné
|
||||
let ligneCorrecte = false;
|
||||
// trouver la ligne englobante
|
||||
let ligne = idCase.closest("tr");
|
||||
let ligne = idCase.closest("li");
|
||||
for (let idRadio of ligne.querySelectorAll('input[type=radio]'))
|
||||
{
|
||||
if (idRadio.checked) { ligneCorrecte = true; break; }
|
||||
@ -211,7 +208,7 @@ function verifierCases(idElem)
|
||||
}
|
||||
}
|
||||
if (nbChoix == 0) {
|
||||
alert("Erreur : il faut sélectionner au moins une activité/tarif");
|
||||
alert("Erreur : il faut sélectionner au moins une ligne");
|
||||
}
|
||||
return nbChoix != 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user