var $CP; $(function () { $CP_NextStep = $('#VCP'); $CP = $('#CP'); let cp_Bruxelles; $.getJSON('/rsc/'+eni.lng.code()+'/cp-bruxelles.js', function(data) { cp_Bruxelles = data; /* désactivation de la création de la datalist dl = document.createElement('datalist'); dl.id = 'lstCP'; $.each(cp_Bruxelles, function(idx, entry) { var option = document.createElement('option'); option.value = entry.CP; option.innerHTML = entry.CP + " (" + entry.City +")"; dl.appendChild(option); }); $CP[0].insertAdjacentElement('afterend',dl); */ }); $CP.on('keypress', function(e){ let code = e.keyCode || e.which; if(code === 13) { e.preventDefault(); $CP_NextStep.click(); } else if(isNaN(parseInt(e.key))){ return false; } }) .on('paste', function(e){ if(isNaN(parseInt(e.originalEvent.clipboardData.getData('text')))){return false;} }) .on('input', function(e){ $CP_NextStep[0].disabled = !(this.value.length===4); }); $CP_NextStep.on('click', function(e){ if (!_isContains(cp_Bruxelles, $CP.val())){ // commune invalide eni.msg({ Class:'Alert', Title:'', Content:$CP.parent().data('error').replace('%TARGET%', ($('#H').is(':visible')?$CP.parent().data('target1'):$CP.parent().data('target2')))}); } else { // passage étape suivante // on masque l'étape en cours $CP.parent().parent().hide(); // en fonction du statut on affiche l'étape suivante $('#INSCRIPTION_CDATAS > .container').show(); $('#CA').focus(); } }); }); function _isContains(json, value) { let contains; Object.keys(json).some(key => { contains = typeof json[key] === 'object' ? _isContains(json[key], value) : json[key] == value; return contains; }); return contains; }