GUIZHOU SUNPOC TECH INDUSTRY CO., LTD.
SW-20 Digital Webster Hardness Tester

Testeur de dureté Webster Digital SW-20

Détails du produit

Obtenez un devis ou plus d’informations

Nos experts techniques sont prêts à vous aider Configurez la solution de test parfaite pour vos besoins spécifiques. Remplissez le formulaire et Nous vous recontacterons dans les 2 heures.

Contact Support
Ligne de vente directe
Email commercial
`; errorBox.classList.add('show') ; } try { invalids[0].el.focus() ; } attrape {} return false ; } retour fidèle ; } document.querySelectorAll('form.form').forEach(form => { form.addEventListener('submit', async function(event) { event.preventDefault() ; const submitBtn = event.submitter || form.querySelector('[type="submit"]') ; 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') ; } 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 ; } }); }); })