Modèle:CodeJS/Calcul : Différence entre versions

De Forum des Usages Coopératifs

Ligne 1 : Ligne 1 :
 
<html>
 
<html>
 
<script type="text/javascript">
 
<script type="text/javascript">
 +
 
// Ce code permet de calculer la somme à régler en fonction des différents éléments sélectionnés dans le formulaire
 
// Ce code permet de calculer la somme à régler en fonction des différents éléments sélectionnés dans le formulaire
function searchStringInArray (string) {
+
 
    var structures = new Array;
+
// vérifie si la chaine passée en argument est présente dans le tableau des structures défini ci-dessous
 +
function searchStructure(string) {
 +
 
 
     // définition du tableau des différents types de structures d'appartenance des inscrit
 
     // définition du tableau des différents types de structures d'appartenance des inscrit
     // le tableau ci-dessous doit-être contenir les mêmes éléments que ceux présents dans la liste déroulante
+
     // le tableau ci-dessous doit contenir les mêmes éléments que ceux présents dans la liste déroulante
 
     // fournie à la section "Frais d'inscription" > "Votre structure est" du formulaire d'inscription
 
     // fournie à la section "Frais d'inscription" > "Votre structure est" du formulaire d'inscription
 +
    var structures = new Array;
 
     structures[0] = 'une association';
 
     structures[0] = 'une association';
 
     structures[1] = 'un établissement scolaire';
 
     structures[1] = 'un établissement scolaire';
Ligne 15 : Ligne 19 :
  
 
     // on s'assure que la structure sélectionnée dans la liste déroulante fait partie du tableau défini ci-dessus
 
     // on s'assure que la structure sélectionnée dans la liste déroulante fait partie du tableau défini ci-dessus
     for (var j=0; j<structures .length; j++) {
+
     for (var j=0; j<structures .length; j++) { if (structures [j].match (string)) return 1; }
        if (structures [j].match (string)) return 1;
+
    }
+
  
 
     // retourne false si non
 
     // retourne false si non
Ligne 23 : Ligne 25 :
 
}
 
}
  
 +
// analyse les les champs rempli dans le formulaire et calcule le montant total de l'inscription
 
function processFormData() {
 
function processFormData() {
 
     var debug = 1;            // -1 en prod, 1 en phase de test
 
     var debug = 1;            // -1 en prod, 1 en phase de test
  
 
     var total = 0;                // initialisation du total à payer
 
     var total = 0;                // initialisation du total à payer
     var nuites = 0;             // initialisation du cout des nuités
+
     var nuites = 0;             // initialisation du cout des nuités
     var repas = 0;             // initialisation du cout des repas
+
     var repas = 0;             // initialisation du cout des repas
 
     var soirees= 0;            // initialisation du cout des soirées
 
     var soirees= 0;            // initialisation du cout des soirées
  
Ligne 34 : Ligne 37 :
 
     if (debug == true) { alert("Initialisation du cout total: " + total); }
 
     if (debug == true) { alert("Initialisation du cout total: " + total); }
  
     // on récupère le contenu des input 16 et 17
+
     // L'inscription est à titre individuel
     // section "Frais d'inscription" > "Je m'inscrit" > "Avec prise en charge | Comme intervenant"
+
     // section "Frais d'inscription" > "Je m'inscris : " > "à titre individuel"
    var gratos_a     = document.getElementById('input_16');
+
    var gratos_b     = document.getElementById('input_17');
+
 
+
    // L'inscription est prise en charge par l'organisation
+
 
     if (document.getElementById('input_15').checked) {
 
     if (document.getElementById('input_15').checked) {
  
 
         // debug
 
         // debug
 
         if (debug == true) { alert("Inscription à titre individuelle"); }
 
         if (debug == true) { alert("Inscription à titre individuelle"); }
 +
 +
        // on récupère le contenu de l'input 18
 +
        // section "Frais d'inscription" > "Votre structure est"
 +
        var checkstruct = document.getElementById('input_18');
 +
       
 +
        // on s'assure que la structure sélectionnée est valide
 +
        if (searchStructure(checkstruct.value) == true) {
 +
 +
            // debug
 +
            if (debug == true) { alert("Type de la structure : " + checkstruct.value); }
 +
 +
            // sélection du niveau de facturation en fonction du type de structure
 +
            // minimal pour les structures associatives et les établissements scolaires
 +
            // maximal pour les autres
 +
            switch(checkstruct.value) {
 +
                case 'une association':
 +
                case 'un établissement scolaire':
 +
                                              var contrib = 'min';
 +
                                              break;
 +
                default:                 
 +
                                              var contrib = 'max';
 +
                                              break;
 +
            }
 +
        }
 +
 +
        // debug
 +
        if (debug == true) { alert("Type de la contribution: " + contrib); }
  
 
     }
 
     }
 +
 +
    // L'inscription contient une demande de prise en charge
 +
    // section "Frais d'inscription" > "Je m'inscris : " > "avec demande de prise en charge"
 
     else if (document.getElementById('input_16').checked) {
 
     else if (document.getElementById('input_16').checked) {
  
Ligne 52 : Ligne 81 :
  
 
     }
 
     }
 +
    // L'inscription concerne un intervenant
 +
    // section "Frais d'inscription" > "Je m'inscris : " > "comme intervenant"
 
     else if (document.getElementById('input_17').checked) {
 
     else if (document.getElementById('input_17').checked) {
  
Ligne 58 : Ligne 89 :
  
 
     }
 
     }
 +
  // erreur
 
     else {
 
     else {
 +
        alert("Erreur, le type de l'inscription ne peut-être identifié, la page sera rechargé.");
 +
        window.location.reload(true);
 +
    }
  
        // debug
 
        if (debug == true) { alert("Erreur, le type de l'inscription ne peut-être identifié"); }
 
 
    }
 
 
     return 0;
 
     return 0;
    // debug
 
    if (debug == true) { alert("Type d'inscription A : " + gratos_a); }
 
    if (debug == true) { alert("Type d'inscription B : " + gratos_b); }
 
  
    // on récupère le contenu de l'input 18
 
    // section "Frais d'inscription" > "Votre structure est"
 
    var checkstruct = document.getElementById('input_18');
 
  
    // on s'assure que la structure sélectionnée est valide
 
    if (searchStringInArray(checkstruct.value) == true) {
 
  
        // debug
 
        if (debug == true) { alert("Type de la structure : " + checkstruct.value); }
 
  
        // sélection du niveau de facturation en fonction du type de structure
 
        // minimal pour les structures associatives et les établissements scolaires
 
        // maximal pour les autres
 
        switch(checkstruct.value) {
 
            case 'une association':
 
            case 'un établissement scolaire': var contrib = 'min'; break;
 
            default: var contrib = 'max'; break;
 
            }
 
        }
 
  
    // debug
+
 
    if (debug == true) { alert("Type de la contribution: " + contrib); }
+
 
 +
 
  
 
     // on récupère le contenu de l'input 23
 
     // on récupère le contenu de l'input 23

Version du 3 avril 2014 à 12:23