Rev 1383 | Blame | Compare with Previous | Last modification | View Log | RSS feed
//+---------------------------------------------------------------------------------------------------------+// AUTO-COMPLÉTION Noms Scientifiquesfunction ajouterAutocompletionNomSci() {$('#taxon').autocomplete({source: function(requete, add){// la variable de requête doit être vidée car sinon le parametre "term" est ajoutérequete = "";var url = getUrlAutocompletionNomSci()+"/"+formaterRequeteNomSci($('#taxon').val());$.getJSON(url, requete, function(data) {var suggestions = traiterRetourNomSci(data);add(suggestions);});},html: true});}function formaterRequeteNomSci(nomSci) {var nomSciCoupe = nomSci.split(' ');if(nomSciCoupe.length >= 2) {nomSci = nomSciCoupe[0]+'/'+nomSciCoupe[1];} else {nomSci = nomSciCoupe[0]+'/*';}return nomSci;}function traiterRetourNomSci(data) {var suggestions = [];if (data != undefined) {$.each(data, function(i, val) {var nom = {label : '', value : ''};if (suggestions.length >= AUTOCOMPLETION_ELEMENTS_NBRE) {nom.label = "...";nom.value = val[0];suggestions.push(nom);return false;} else {nom.label = val[0];nom.value = val[0];suggestions.push(nom);}});}return suggestions;}function ajouterAutocompletionCommunes() {$('#commune').autocomplete({source: function(requete, add){// la variable de requête doit être vidée car sinon le parametre "term" est ajoutérequete = "";var url = getUrlAutocompletionCommunes()+"/"+$('#commune').val();$.getJSON(url, requete, function(data) {var suggestions = traiterRetourCommune(data);add(suggestions);});},html: true});$( "#commune" ).bind("autocompleteselect", function(event, ui) {console.log(ui.item);$("#commune").data(ui.item.value);$("#dept").data(ui.item.code);$("#dept").val(ui.item.code);});}function getUrlAutocompletionNomSci() {var url = SERVICE_AUTOCOMPLETION_NOM_SCI_URL;return url;}function separerCommuneDepartement(chaine) {var deptCommune = chaine.split(' (');if(deptCommune[1] != null && deptCommune[1] != undefined) {deptCommune[1] = deptCommune[1].replace(')', '');} else {deptCommune[1] = '';}return deptCommune;}function traiterRetourCommune(data) {var suggestions = [];if (data != undefined) {$.each(data, function(i, val) {var nom = {label : '', value : ''};if (suggestions.length >= AUTOCOMPLETION_ELEMENTS_NBRE) {nom.label = "...";nom.value = val[0];suggestions.push(nom);return false;} else {nom.label = val[0];var deptCommune = separerCommuneDepartement(val[0]);nom.value = deptCommune[0];nom.code = deptCommune[1];suggestions.push(nom);}});}return suggestions;}function getUrlAutocompletionCommunes() {var url = SERVICE_AUTOCOMPLETION_COMMUNE_URL;return url;}function configurerValidationFormulaire() {$("#form-export-obs").validate({rules: {utilisateur: {email: true},date_debut: {date: true,date_valid : $('#date_debut')},date_fin: {date: true,date_valid : $('#date_fin')},dept: {dept_valid : $('#dept')},num_taxon: {number: true}},messages: {email: "L'email de l'utilisateur doit être valide",num_taxon: "Le numéro taxonomique doit être un entier"}});$.validator.addMethod("dept_valid", function(valeur) {return valeur == "" || valeur.match(/^\d+(?:,\d+)*$/);}, "Le ou les département(s) doivent être sur deux chiffres, séparés par des virgules");$.validator.addMethod("date_valid", function(element) {var valid = true;var dateDebut = $('#date_debut').datepicker("getDate");var dateFin = $('#date_fin').datepicker("getDate");if($('#date_debut').val() != "" && $('#date_fin').val() != "") {if(dateDebut != null && dateFin != null) {valid = dateDebut <= dateFin;} else {valid = dateDebut == null || dateFin == null;}}return valid;}, "Les dates de début et de fin doivent être au format jj/mm/aaaa et la première inférieur à la dernière, si les deux sont présentes");}$(document).ready(function() {ajouterAutocompletionNomSci();ajouterAutocompletionCommunes();$("#date_debut").datepicker($.datepicker.regional['fr']);$("#date_fin").datepicker($.datepicker.regional['fr']);configurerValidationFormulaire();});