$("#field_adresse").keyup(function () { q = this.value.replace(" ", "+"); $.ajax({ url: "https://api-adresse.data.gouv.fr/search/?q="+q+"&autocomplete=0", dataType: "json", success: function (data) { var dataArray = []; var cpArray = []; var cityArray = []; var nameArray = []; var coord0Array = []; var coord1Array = []; $.each(data, function (i, item) { console.log(i); console.log(item); if(i == "features"){ j = 0; while(item[j]){ /*console.log(item[j].properties.label); console.log(item[j].properties.postcode); console.log(item[j].properties.city); console.log(item[j].properties.name); console.log(item[j].geometry.coordinates[0]); console.log(item[j].geometry.coordinates[1]);*/ dataArray[j] = { "value" : item[j].properties.name, "label" : item[j].properties.label}; cpArray[item[j].properties.label] = item[j].properties.postcode; cityArray[item[j].properties.label] = item[j].properties.city; nameArray[item[j].properties.label] = item[j].properties.name; coord0Array[item[j].properties.label] = item[j].geometry.coordinates[0]; coord1Array[item[j].properties.label] = item[j].geometry.coordinates[1]; j++; } } }); $('#field_adresse').autocomplete({ clearButton: true, source: dataArray, selectFirst: true, minLength: 4, select: function (event, ui) { //console.log(ui); //alert(ui.item.label); document.getElementById("field_ville").value = cityArray[ui.item.label]; document.getElementById("field_code_postal").value = cpArray[ui.item.label]; document.getElementById("field_coord0").value = coord0Array[ui.item.label]; document.getElementById("field_coord1").value = coord1Array[ui.item.label]; cp1 = document.getElementById("field_code_postal").value.substring(0,3); i = 0; found = false; while(document.getElementById("field_departement").options[i]){ if(document.getElementById("field_departement").options[i].getAttribute("code_departement") == cp1){ document.getElementById("field_departement").options[i].selected = true; found = true; break; } i++; } if(!found){ cp1 = document.getElementById("field_code_postal").value.substring(0,2); i = 0; while(document.getElementById("field_departement").options[i]){ if(document.getElementById("field_departement").options[i].getAttribute("code_departement") == cp1){ document.getElementById("field_departement").options[i].selected = true; found = true; break; } i++; } } if(document.getElementById("err_field_adresse")){ document.getElementById("err_field_adresse").remove(); } } }); }, error: function (xhr, textStatus, errorThrown) { console.log('Error: ' + xhr.responseText); } }); }); function testFiles(){ sizefile = 2097152; sizemax = 8388608; retour = true; var span = document.createElement("span"); span.innerHTML = "

Ce fichier est trop volumineux"; cumul = document.getElementById('field_justificatif_de_domicile').files[0].size; cumul += document.getElementById('field_carte_didentite').files[0].size; cumul += document.getElementById('field_photographie').files[0].size; cumul += document.getElementById('field_k_bis').files[0].size; cumul += document.getElementById('field_doc_rib').files[0].size; //CNI if(document.getElementById('field_carte_didentite').files[0].size > sizefile){ span.setAttribute("id", "err_field_carte_didentite"); document.getElementById("div_field_carte_didentite").appendChild(span); document.getElementById('field_carte_didentite').focus(); return false; } //Photo if(document.getElementById('field_photographie').files[0].size > sizefile){ span.setAttribute("id", "err_field_photographie"); document.getElementById("div_field_photographie").appendChild(span); document.getElementById('field_photographie').focus(); return false; } //Justif if(document.getElementById('field_justificatif_de_domicile').files[0].size > sizefile){ span.setAttribute("id", "err_field_justificatif_de_domicile"); document.getElementById("div_field_justificatif_de_domicile").appendChild(span); document.getElementById('field_justificatif_de_domicile').focus(); return false; } //KBIS if(document.getElementById('field_k_bis').files[0].size > sizefile){ span.setAttribute("id", "err_field_k_bis"); document.getElementById("div_field_k_bis").appendChild(span); document.getElementById('field_k_bis').focus(); return false; } //RIB if(document.getElementById('field_doc_rib').files[0].size > sizefile){ span.setAttribute("id", "err_field_doc_rib"); document.getElementById("div_field_doc_rib").appendChild(span); document.getElementById('field_doc_rib').focus(); return false; } return retour; } function testCoordonnees(){ if(document.getElementById("field_coord0").value == "" || document.getElementById("field_coord1").value == ""){ var span = document.createElement("span"); span.innerHTML = "

Adresse non vérifiée, veuillez la resaisir et en sélectionner une en cliquant dans les propositions"; span.setAttribute("id", "err_field_adresse"); document.getElementById("div_field_adresse").appendChild(span); document.getElementById('field_adresse').focus(); return false; }else{ return true; } } document.getElementById('field_doc_rib').addEventListener("click", (event) => { if(document.getElementById("err_field_doc_rib")){ document.getElementById("err_field_doc_rib").remove(); } }); document.getElementById('field_k_bis').addEventListener("click", (event) => { if(document.getElementById("err_field_k_bis")){ document.getElementById("err_field_k_bis").remove(); } }); document.getElementById('field_justificatif_de_domicile').addEventListener("click", (event) => { if(document.getElementById("err_field_justificatif_de_domicile")){ document.getElementById("err_field_justificatif_de_domicile").remove(); } }); document.getElementById('field_photographie').addEventListener("click", (event) => { if(document.getElementById("err_field_photographie")){ document.getElementById("err_field_photographie").remove(); } }); document.getElementById('field_carte_didentite').addEventListener("click", (event) => { if(document.getElementById("err_field_carte_didentite")){ document.getElementById("err_field_carte_didentite").remove(); } }); window.addEventListener("load", function(event) { if(localStorage.getItem("easysap_adh_forms1")){ i = 0; frm = JSON.parse(localStorage.getItem("easysap_adh_forms1")); while(frm[i]){ id = frm[i].id; value = frm[i].value; if(document.getElementById(id)){ document.getElementById(id).value = value; } i++; } } }); document.getElementById('pfg-form-1').addEventListener("submit", function (event){ event.preventDefault(); localStorage.removeItem("easysap_adh_forms1"); frmelem = new Array(); i = 0; while(document.getElementById('pfg-form-1').elements[i]){ frmelem[i] = {id: document.getElementById('pfg-form-1').elements[i].id , value: document.getElementById('pfg-form-1').elements[i].value}; i++; } localStorage.setItem("easysap_adh_forms1", JSON.stringify(frmelem)); if(testFiles() && testCoordonnees()){ document.getElementById('pfg-form-1').submit(); }else{ return false; } });