Proposez votre espace de stockage disponible. Les expéditeurs vous contacteront directement.
function fcSendAjax(fields, btn, msgId, btnText) { btn.disabled = true; btn.textContent = 'Publication en cours...'; var msg = document.getElementById(msgId); msg.className = 'fc-msg'; msg.style.display = 'none'; var nonce = (typeof fcForms !== 'undefined') ? fcForms.nonce : ''; var ajaxurl = (typeof fcForms !== 'undefined') ? fcForms.ajaxurl : '/wp-admin/admin-ajax.php'; var fd = new FormData(); fd.append('action', 'fretcom_create_listing'); fd.append('nonce', nonce); for (var k in fields) { if (fields[k]) fd.append(k, fields[k]); } fetch(ajaxurl, { method: 'POST', credentials: 'include', body: fd }) .then(function(r) { return r.json(); }) .then(function(d) { btn.disabled = false; btn.textContent = btnText; if (d && d.success) { msg.className = 'fc-msg success'; msg.innerHTML = '✅ Annonce publiée ! Voir l'annonce →'; } else { msg.className = 'fc-msg error'; msg.textContent = '❌ ' + (d.data ? d.data.message : 'Erreur lors de la publication.'); } msg.style.display = 'block'; msg.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }).catch(function() { btn.disabled = false; btn.textContent = btnText; msg.className = 'fc-msg error'; msg.textContent = '❌ Erreur réseau.'; msg.style.display = 'block'; }); }
(function(){ document.querySelectorAll('#fc-stockage .fc-btn-group').forEach(function(grp){ grp.addEventListener('click',function(e){ var btn=e.target.closest('button');if(!btn)return; grp.querySelectorAll('button').forEach(function(b){b.classList.remove('selected');}); btn.classList.add('selected'); var h=document.getElementById(grp.id+'-val');if(h)h.value=btn.getAttribute('data-val'); }); }); })(); function fcValS(id){var el=document.getElementById(id);return el?el.value.trim():'';} function fcSubmitStockage(){ var ok=true; var st=fcValS('fc-storage-type-val'); var errSt=document.getElementById('err-storage-type'); if(!st){errSt.style.display='block';ok=false;}else{errSt.style.display='none';} function req(id,errId){var el=document.getElementById(id);var err=document.getElementById(errId);if(!el||!el.value.trim()){if(err)err.style.display='block';ok=false;}else{if(err)err.style.display='none';}} req('fc-city-dep','err-city-dep');req('fc-avail-date','err-avail-date');req('fc-area','err-area'); if(!ok)return; var city=fcValS('fc-city-dep'); var area=fcValS('fc-area'); var fields={ title:'Stockage disponible'+(city?' \u2013 '+city:'')+(area?' \u2013 '+area+' m\u00B2':''), content:fcValS('fc-desc'), listivo_9144:'storage', listivo_9159:st, listivo_9163:city, listivo_9172:fcValS('fc-avail-date'), listivo_9183:area, listivo_9184:fcValS('fc-height'), listivo_9185:fcValS('fc-min-dur'), listivo_9160:fcValS('fc-storage-equip-val'), listivo_9161:fcValS('fc-temp-ctrl-val'), listivo_9177:fcValS('fc-temp-min'), listivo_9178:fcValS('fc-temp-max'), listivo_9187:fcValS('fc-price-m2'), listivo_9164:fcValS('fc-postal'), listivo_9149:fcValS('fc-customs'), }; fcSendAjax(fields, document.getElementById('fc-sub-s'), 'fc-msg-s', 'Publier mon offre de stockage \u2192'); }