GUIZHOU SUNPOC TECH INDUSTRY CO., LTD.
Téléchargement de documents

Téléchargement de documents

Téléchargement gratuit de Professional Technical documents et matériaux produit, y compris les spécifications, solutions applicatives, manuels d’opération et Documents de certification. Fournir un support complet pour votre sélection, vos tests et votre mise en œuvre du projet, pratique et efficace pour l’accès à tout moment.

`; errorBox.classList.add('show') ; } try { invalids[0].el.focus() ; } attrape {} return false ; } retour fidèle ; } document.querySelectorAll('form.down-file-form').forEach(form => { form.addEventListener('submit', async function(event) { event.preventDefault() ; const submitBtn = event.submitter || form.querySelector( '[type="soumettre"]') ; const ok = validateForm(form) ; si ( !ok) revenir ; const loading = form.querySelector('.msg-wrap .loading') ; const success = form.querySelector('.msg-wrap .success') ; const error = form.querySelector('.msg-wrap .error') ; form.querySelectorAll('.msg-wrap .show').forEach(el => { el.classList.remove('montrer') ; el.classList.add('caché') ; }); si (chargement) { loading.classList.remove('hidden') ; loading.classList.add('show') ; } si (submitBtn) submitBtn.disabled = true ; const formData = new FormData(form) ; const params = new URLSearchParams() ; formData.forEach((value, key) => params.append(key, value)) ; const API = form.getAttribute('action') || window.location.href ; try { const res = await fetch(API, { méthode : « POST », En-têtes : { 'Content-Type' : 'application/x-www-form-urlencoded ; charset=UTF-8' }, corps : params.toString() }); si ( !res.ok) jetez la résistance ; const resJson = attendre res.json() ; si (succès) { success.classList.remove('hidden') ; success.classList.add('show') ; } // 浏览器缓存中记录提交成功 localStorage.setItem('downFileSubmitSuccess', 'true') ; window.location.href = '/inquiry-ok.html' ; } catch (euh) { let message = 'Soumission échouée. Veuillez réessayer plus tard. » ; if (euh instance of Response) { try { const er = attendre err.json() ; const msg = er.msg || message ; const errors = er.errors || {}; soit errorHTML = '' ; pour (laissons introduire des erreurs) { élément const = errors[key] ; if (type d’élément === 'chaîne') { if (élément !== msg) errorHTML += `
  • ${escapeHtml(item)}
  • `; } sinon si (Array.isArray(item)) { item.forEach(it => { if (it !== msg) errorHTML += `
  • ${escapeHtml(it)}
  • `; }); } } message = escapeHtml(msg) + (errorHTML ? `` : ''); } attraper (e) { console.error(e) ; } } // 显示错误信息 if (erreur) { error.innerHTML = message ; error.classList.remove('hidden') ; error.classList.add('show') ; } else { alert(message.replace(/]+>/g, '')) ; } } enfin { si (chargement) { chargeing.classList.remove('show') ; loading.classList.add('hidden') ; } si (submitBtn) submitBtn.disabled = faux ; } }); }); }) })();