PageSourceSearch

https://www.expertise-energie.fr/wp-content/cache/min/4/wp-content…/ninja-form-script.js?ver=1788171583

js expertise-energie.fr collected 2026-10-06 13:06:28 UTC 4,972 bytes, 10 lines download raw bytes

1(function($){$(document).ready(function(){function applySlideEffect(element){element.style.opacity='0';element.style.transform='translateY(-30%)';element.style.transition='opacity 0.4s ease-out, transform 0s ease-out';requestAnimationFrame(()=>{element.style.opacity='1';element.style.transform='translateY(0%)'})}
2const observer=new MutationObserver((mutations)=>{mutations.forEach((mutation)=>{mutation.addedNodes.forEach((node)=>{if(node.nodeType===1&&node.classList.contains('nf-slide-field')){if($('.nf-intro-group .ninja-forms-field').is(':checked')){applySlideEffect(node)}}})})});const config={childList:!0,subtree:!0};observer.observe(document.body,config);$('body').off('change','.select-list').on('change','.select-list',function(){var $input=$(this);var value=$input.val();var $container=$input.closest('.nf-field');if(value>0||value==='Je ne sais pas'){$container.addClass('is-valid')}else{$container.removeClass('is-valid')}});$('body').off('input','.quantity').on('input','.quantity',function(){var $input=$(this);var value=parseInt($input.val(),10);if(value<0){$input.val(0);value=0}
3var $container=$input.closest('.number-input');if(value>0){$container.addClass('is-valid')}else{$container.removeClass('is-valid')}});$('body').on('click','.number-input .plus',function(){var $input=$(this).closest('.number-input').find('.quantity');var value=parseInt($input.val(),10)+0;$input.val(value);if(value>0){$input.closest('.number-input').addClass('is-valid')}});$('body').on('click','.number-input .minus',function(){var $input=$(this).closest('.number-input').find('.quantity');var value=parseInt($input.val(),10)-0;if(value>=0){$input.val(value);if(value>0){$input.closest('.number-input').addClass('is-valid')}else{$input.closest('.number-input').removeClass('is-valid')}}})})})(jQuery);jQuery(document).on('nfFormReady',()=>{let mySubmitController=Marionette.Object.extend({initialize:function(){let fieldsChannel=Backbone.Radio.channel('fields');this.listenTo(fieldsChannel,'change:modelValue',this.valueChanged);this.listenTo(Backbone.Radio.channel('forms'),'submit:response',this.actionSubmit)},actionSubmit:function(response){var popup=document.createElement('div');popup.id='popup';popup.className='popup';var popupContent=document.createElement('div');popupContent.className='popup-content';var message=document.createElement('p');message.textContent='Message envoyé !';var closeBtn=document.createElement('button');closeBtn.id='closeBtn';closeBtn.textContent='Fermer';closeBtn.addEventListener('click',function(){popup.style.display='none'});popupContent.appendChild(message);popupContent.appendChild(closeBtn);popup.appendChild(popupContent);document.body.appendChild(popup);popup.style.display='block'},valueChanged:function(response){function displayMatches(){let zipCode=document.querySelector('.nf-element-zipcode').value;async function getZipCode(){let url=`https://api.zippopotam.us/FR/${zipCode}`;try{let res=await fetch(url);return await res.json()}catch(error){error.log(error)}}
4async function renderZipCode(){let zipCodes=await getZipCode();let errorHTML=document.querySelector('#nf-error-zipcode');function isObjEmpty(obj){return Object.keys(obj).length===0}
5const resultsHTML=document.querySelector('#results');if(isObjEmpty(zipCodes)){let regExp=/[a-zA-Z]/g;let testString=zipCode;resultsHTML.innerHTML='';if(!regExp.test(testString)||testString>96000){errorHTML.style.display='block'}}else{const outputString=zipCode.slice(0,5);Number(outputString);if(outputString>19999&&outputString<20999){errorHTML.style.display='block'}else{errorHTML.style.display='none';let output=[];zipCodes.places.forEach(place=>{output.push(`${place['place name']}`)});const zipCodeInput=document.querySelector('input[name="zip"]');resultsHTML.innerHTML='';resultsHTML.style.display='block';let i=0;for(i=0;i<output.length;i++){resultsHTML.innerHTML+='<div class="item-town">'+zipCode+' - '+output[i]+'</div>'}
6resultsHTML.onclick=function(event){const resultsZipcode=document.querySelector('input[name="zip"]');const closestZipcodeInput=resultsZipcode.closest('.zipcode-input');if(closestZipcodeInput){closestZipcodeInput.classList.add('is-valid')}
7const setValue=event.target.innerText;zipCodeInput.setAttribute('value',setValue);this.innerHTML='';jQuery(zipCodeInput).val(setValue).trigger('change');resultsHTML.innerHTML=''}}}}
8renderZipCode()}
9const searchInput=document.querySelector('.nf-element-zipcode');if(searchInput){searchInput.addEventListener('keyup',displayMatches)}
10if('phone_1637936226069'==response.get('key')){let phoneInput=response.get('value');let phoneReg=/^((\+)33|0|0033)[1-9](\d{2}){4}$/g;if((phoneReg.test(phoneInput))||!phoneInput){Backbone.Radio.channel('fields').request('remove:error',response.get('id'),'custom-field-error')}else{Backbone.Radio.channel('fields').request('add:error',response.get('id'),'custom-field-error','Ce champ n\'est pas valide')}}},});jQuery(document).ready(function($){new mySubmitController()})})

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.