//Suppression d'espace début et fin de chaine String.prototype.Trim = function (){ return this.replace(/(^\s*)|(\s*$)/g,""); } // ---------------------------- jQuery --------------------------------- jQuery(document).ready(function () { // // Cache des structures principales et secondaires si nécessaire //jQuery('#strucprinc').css("display","none"); //jQuery('#strucsecond').css("display","none"); Initialisation () // //---------------------------------------- // Fonction traitement des options SELECT function MajSelectForm (RefClass, RefOption, RefDefaut, RefAction) { var IdClass= 'select'+RefClass; var test = RefOption; var flagproposition = 0; if (RefAction=="MAJ") {// Mise A jour après select jQuery(IdClass).find('option').each(function() { var valeuroption = jQuery(this).val(); var textoption = jQuery(this).text(); var classencours = jQuery(this).attr("class"); jQuery(this).attr("disabled",true); if (classencours==test) { // si structure principale ne fait pas partie du prescripteur on dévalide jQuery(this).attr("disabled",false); flagproposition = flagproposition+1; } if (valeuroption==RefDefaut) { // si valeur par défaut on dévalide jQuery(this).attr("disabled",false); } });//fin de jquery }// fin de if if (RefAction=="Defaut") {// Remettre option par défaut //alert('RAZ ref = '+RefOption); jQuery(IdClass).find('option').each(function() { var valeuroption = jQuery(this).val(); var textoption = jQuery(this).text(); var classencours = jQuery(this).attr("class"); jQuery(this).attr("disabled",false); jQuery(this).attr("selected",false); if (valeuroption==test) { // si structure principale ne fait pas partie du prescripteur on dévalide jQuery(this).attr("selected",true); } });//fin de jquery }// fin de if // // return flagproposition; }// fin de function MajSelectForm // //-------------------------------------------------------------- function Initialisation () { // var test = jQuery('select.classeprescripteur option:selected').val(); var proposition = 0; // traitement pour chaque option du select proposition = MajSelectForm ('.classestructureprincipale', test, '129121100830142', 'MAJ'); // // traitement si prescripteurs différents de "Non prescripteur" et "Autre" if (test!="12899813925140" && test!="128998101418379" ) { jQuery('#strucprinc').css("display","block"); } // fin de if (test!= else { jQuery('#strucprinc').css("display","none"); } // var test = jQuery('select.classestructureprincipale option:selected').val(); var proposition = 0; // traitement pour chaque option du select proposition = MajSelectForm ('.classestructuresecondaire', test, '129121115815751', 'MAJ'); // // traitement si prescripteurs différents de "Non prescripteur" et "Autre" if (test!="129121100830142" ) { jQuery('#strucsecond').css("display","block"); } // fin de if (test!= else { jQuery('#strucsecond').css("display","none"); } // //alert('proposition = '+proposition ); if(proposition<1) {jQuery('#strucsecond').css("display","none");}//pas de proposition on cache le select // } //-------------------------------------------------------------- function ActionClassePrescripteur () { //alert("('.classeprescripteur').change"); var test = jQuery('select.classeprescripteur option:selected').val(); var proposition = 0; // RAZ structure principales MajSelectForm ('.classestructureprincipale', '129121100830142', '', 'Defaut'); jQuery('#strucprinc').css("display","none"); // // RAZ structure secondaires MajSelectForm ('.classestructuresecondaire', '129121115815751', '', 'Defaut'); jQuery('#strucsecond').css("display","none"); // // traitement pour chaque option du select proposition = MajSelectForm ('.classestructureprincipale', test, '129121100830142', 'MAJ'); // // traitement si prescripteurs différents de "Non prescripteur" et "Autre" if (test!="12899813925140" && test!="128998101418379" ) { jQuery('#strucprinc').css("display","block"); } // fin de if (test!= // } //-------------------------------------------------------------- function ActionClasseStructurePrincipale () { var test = jQuery('select.classestructureprincipale option:selected').val(); var proposition = 0; // RAZ structure secondaires MajSelectForm ('.classestructuresecondaire', '129121115815751', '', 'Defaut'); jQuery('#strucsecond').css("display","none"); // traitement pour chaque option du select proposition = MajSelectForm ('.classestructuresecondaire', test, '129121115815751', 'MAJ'); // // traitement si prescripteurs différents de "Non prescripteur" et "Autre" if (test!="129121100830142" ) { jQuery('#strucsecond').css("display","block"); } // fin de if (test!= // //alert('proposition = '+proposition ); if(proposition<1) {jQuery('#strucsecond').css("display","none");}//pas de proposition on cache le select // } //-------------------------------------------------------------- // Gestion des structures principales à partir des prescripteurs jQuery('.classeprescripteur').change(function() { ActionClassePrescripteur(); });// fin de jQuery('.classeprescripteur') // //---------------------------------------------------------------------- // Gestion des structures secondaires à partir desstructures principales jQuery('.classestructureprincipale').change(function() { // ActionClasseStructurePrincipale(); });// fin de jQuery('.classestructureprincipale') // //------------------------------------ jQuery('input[name={#email}]').blur( function() { // Vérification email var flag = "ok" ; var re1= /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/; // contrôle email var email = jQuery('input[name={#email}]').attr("value"); if (email!="") { if(!email.match(re1) && flag == "ok" ) { alert(email + " n'est pas une adresse email valide !"); //jQuery('input[name={#email}]').focus(); flag = "ko" ; return false; // pour que le navigateur n'applique pas le submit } } }); // jQuery('input[name={#emailbis}]').blur( function() { // Vérification email var flag = "ok" ; var re1= /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/; // contrôle email var email = jQuery('input[name={#email}]').attr("value"); var emailbis = jQuery('input[name={#emailbis}]').attr("value"); if (emailbis!="") { if(!emailbis.match(re1) && flag == "ok" ) { alert(emailbis + " n'est pas une adresse email valide !"); //jQuery('input[name={#emailbis}]').focus(); flag = "ko" ; return false; // pour que le navigateur n'applique pas le submit } if (email!=emailbis) { alert(email + " ne corespond pas à " + emailbis); //jQuery('input[name={#emailbis}]').focus(); flag = "ko" ; return false; // pour que le navigateur n'applique pas le submit } } if (emailbis!="" && email=="") { alert(" Vous avez rempli l'email de confirmation sans remplir le champ email ! "); //jQuery('input[name={#emailbis}]').focus(); flag = "ko" ; return false; // pour que le navigateur n'applique pas le submit } }); // Verif Login jQuery('input[name={#login}]').blur( function() { var datalogin = jQuery("input[name={#login}]").attr('value'); var datareflogin = jQuery("input[name=refidlogin]").attr('value'); //alert('datalogin = ' + datalogin + ' et datareflogin = ' + datareflogin); var test = datalogin.Trim(); var testespace = datalogin.length - test.length; //alert('testespace = ' +testespace+' avec => datalogin ('+datalogin.length+' caractères)= |' + datalogin + '| et datalogin sans espace ('+test.length+' caractères) = |' + test + '|'); var flag = "ok" ; if (testespace!=0) { alert("Vous ne devez pas mettre d'espace en début ni en fin de login !"); // flag = "ko" ; } // jQuery.ajax({ // ajax type: "GET", url: "modules/formulaires/sources/main_login.php", // url de la page à charger par référence ID article data: "t="+datalogin, // GET de la page à charger par référence ID article cache: false, // pas de mise en cache success:function(retourdatas){ // si la requête est un succès // sépartion des datas //alert('retourdatas = ' +retourdatas); var brokenstring = retourdatas.split("/"); // on découpe la chaine séparée par un / //alert('brokenstring[0] = ' + brokenstring[0] + ' brokenstring[1] = ' + brokenstring[1] + ' brokenstring[2] = ' + brokenstring[2] + ' brokenstring[3] = ' + brokenstring[3] ); // si c'est une dépose initiale if (datareflogin=="" && flag == "ok" ) { if (brokenstring[2]==datalogin && brokenstring[1]!="" ) { alert("Nouveau login : le choisi login existe déjà, veuillez en choisir un autre !"); // //jQuery('input[name={#login}]').focus(); flag = "ko" ; } } // si c'est une modification de login if (brokenstring[2]==datalogin && brokenstring[1]!=datareflogin && flag == "ok" ) { alert("Changement login : le choisi login existe déjà, veuillez en choisir un autre !"); // //alert( "|"+brokenstring[2] + "| == |" + datalogin + "| et |" + brokenstring[1] + "| != |" + datareflogin+"|" ); //jQuery('input[name={#login}]').focus(); flag = "ko" ; } }, error:function(XMLHttpRequest, textStatus, errorThrows){ // erreur durant la requete } }); // }); jQuery('input[name={#passebis}]').blur( function() { // Vérification passe var passe = jQuery('input[name={#passe}]').attr("value"); var passebis = jQuery('input[name={#passebis}]').attr("value"); var test = passe.Trim(); var testespace = passe.length - test.length; //alert('testespace = ' +testespace+' avec => datalogin ('+datalogin.length+' caractères)= |' + datalogin + '| et datalogin sans espace ('+test.length+' caractères) = |' + test + '|'); var flag = "ok" ; if (testespace!=0) { alert("Vous ne devez pas mettre d'espace en début ni en fin du mot de passe !"); // flag = "ko" ; } test = passebis.Trim(); testespace = passebis.length - test.length; if (testespace!=0 && flag == "ok") { alert("Vous ne devez pas mettre d'espace en début ni en fin du mot de confirmation du passe !"); // flag = "ko" ; } if (passe=="" && flag == "ok") { alert("Vous devez d'abord remplir le mot de passe \n avant d'utiliser ce champ !"); jQuery('input[name={#passebis}]').attr("value",""); jQuery('input[name={#passe}]').focus(); flag = "ko" ; return false; // pour que le navigateur n'applique pas le submit } if (passe!=passebis && flag == "ok") { alert( "Les deux mots de passe ne corespondent pas !"); jQuery('input[name={#passebis}]').attr("value",""); jQuery('input[name={#passe}]').attr("value",""); jQuery('input[name={#passe}]').focus(); flag = "ko" ; return false; // pour que le navigateur n'applique pas le submit } }); // Contrôle avant validation du formulaire jQuery('#validerform').click(function(){ // var flag = "ok" ; var test = jQuery('input[name={#nom}]').attr("value"); if (test == "") { alert('Le nom est obligatoire ! '); jQuery('input[name={#nom}]').focus(); flag = "ko" ; return false; // pour que le navigateur n'applique pas le submit } test = jQuery('input[name={#prenom}]').attr("value"); if (test == "" && flag == "ok") { alert('Le prénom est obligatoire ! '); jQuery('input[name={#prenom}]').focus(); flag = "ko" ; return false; // pour que le navigateur n'applique pas le submit } // Vérification email var re1= /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/; // contrôle email var email = jQuery('input[name={#email}]').attr("value"); var emailbis = jQuery('input[name={#emailbis}]').attr("value"); if(!email.match(re1) && flag == "ok" && email!="") { alert(email + " n'est pas une adresse email valide !"); jQuery('input[name={#email}]').focus(); flag = "ko" ; return false; // pour que le navigateur n'applique pas le submit } if(!emailbis.match(re1) && flag == "ok" && emailbis!="") { alert(emailbis + " n'est pas une adresse email valide !"); jQuery('input[name={#emailbis}]').focus(); flag = "ko" ; return false; // pour que le navigateur n'applique pas le submit } if (email!=emailbis && emailbis!="" && email!="") { alert(email + " ne corespond pas à " + emailbis); jQuery('input[name={#emailbis}]').focus(); flag = "ko" ; return false; // pour que le navigateur n'applique pas le submit } test = jQuery('input[name={#login}]').attr("value"); if (test == "" && flag == "ok") { alert("Le Login est obligatoire ! "); jQuery('input[name={#login}]').focus(); flag = "ko" ; return false; // pour que le navigateur n'applique pas le submit } var passe = jQuery('input[name={#passe}]').attr("value"); var passebis = jQuery('input[name={#passebis}]').attr("value"); if (passe=="") { alert("Vous devez remplir le mot de passe !"); jQuery('input[name={#passe}]').focus(); flag = "ko" ; return false; // pour que le navigateur n'applique pas le submit } if (passe!=passebis) { alert( "Les deux mots de passe ne corespondent pas !"); jQuery('input[name={#passebis}]').attr("value",""); jQuery('input[name={#passe}]').attr("value",""); jQuery('input[name={#passe}]').focus(); flag = "ko" ; return false; // pour que le navigateur n'applique pas le submit } if (flag == "ok" ) { if (confirm("Etes vous certain de vouloir valider l'enregistrement ?" ) ) { // if (flag == "ok") { document.gestion.submit(); return true; // pour que le navigateur n'applique pas le submit } else { return false; // pour que le navigateur n'applique pas le submit } } else { return false; // pour que le navigateur n'applique pas le submit } } // // }); // });