/* [1] On récupère les 2 , on créé l'évènement de selection dynamique ===============================================================*/ if( newRDVPatient != null && newRDVMedecin != null ){ /* [1] On selectionne dynamiquement le médecin traitant associé =======================================================================*/ newRDVPatient.addEventListener('change', function(e){ var child = document.querySelector("#newRDVPatient > option[value='"+newRDVPatient.value+"'][data-medecin]"); // on selectionne le medecin associé newRDVMedecin.value = child.dataset.medecin; addClass(newRDVMedecin, 'associated'); }, false); // [1] On met en valeur le médecin traitant associé (class=associated) // ======================================================================= newRDVMedecin.addEventListener('change', function(e){ var child = document.querySelector("#newRDVPatient > option[value='"+newRDVPatient.value+"'][data-medecin]"); if( newRDVMedecin.value == child.dataset.medecin ) // si c'est le medecin traitant, on met en valeur l'association addClass(newRDVMedecin, 'associated'); else remClass(newRDVMedecin, 'associated'); }, false); } /* GESTION DU NUMÉRO DE SÉCU */ var inSecu = document.getElementById('inSecu'); // input du numéro de sécu var ftSecu = 'x xx xx xx xxx xxx xx'; // format du numéro de sécu inSecu.addEventListener('keyup', function(e){ // pour chaque caractère for( var i = 0 ; i < inSecu.value.length ; i++ ){ // [1] si le caractère n'est pas un nombre, on le supprime if( isNaN(inSecu.value[i]) ) inSecu.value = inSecu.value.slice(0, i).concat( inSecu.value.slice(i+1) ); // [2] si c'est pas un espace mais qu'il en faut un, on met en forme if( inSecu.value[i] != ' ' && ftSecu[i] == ' ' ) inSecu.value = inSecu.value.slice(0, i).concat(' ').concat( inSecu.value.slice(i) ); // [4] Le numéro saisi est trop long, on le coupe + enlève les espaces alentours inSecu.value = inSecu.value.slice(0, ftSecu.length).trim(); } }, false);