# sureforms/0.0.10/assets/js/minified/form-submit.min.js

SureForms – Contact Form Builder, AI Forms, Payment Form, Survey &amp; Quiz, version 0.0.10. 1 lines.

- Page: https://pluginprobe.com/plugins/sureforms/0.0.10/code/assets/js/minified/form-submit.min.js
- Raw: https://pluginprobe.com/plugins/sureforms/0.0.10/raw/assets/js/minified/form-submit.min.js
- Modified: 2024-08-27T13:46:46+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/sureforms/0.0.10/code/assets/js/minified/form-submit.min.js#L10-L20`.

```javascript
import{fieldValidation,initializeInlineFieldValidation}from"./validation";async function submitFormData(e){var t,r,s=srfm_submit.site_url,e=new FormData(e),a=new FormData;for([t,r]of e.entries())t.includes("srfm-email-confirm")||t.includes("srfm-password-confirm")||a.append(t,r);return fetch(s+"/wp-json/sureforms/v1/submit-form",{method:"POST",headers:{"X-WP-Nonce":srfm_submit.nonce},body:a}).then(e=>{if(e.ok)return e.json()}).catch(e=>{console.log(e)})}async function afterSubmit(e){var t=window.srfm_submit.site_url,e=e.data.submission_id;try{var r=await fetch(t+"/wp-json/sureforms/v1/after-submission/"+e,{headers:{"X-WP-Nonce":window.srfm_submit.nonce}});if(!r.ok)throw new Error("HTTP error! Status: "+r.status)}catch(e){console.error(e)}}function showSuccessMessage(e,t,r,s,a){"hide form"===a?(s.style.opacity=1,s.style.display="none",setTimeout(()=>{t.style.opacity=1},500)):s.reset(),t.innerHTML=r,e.classList.add("srfm-active")}function redirectToUrl(e){window.location.assign(e)}function showErrorMessage(e){e.removeAttribute("hidden"),console.error("Network Error")}async function handleFormSubmission(e,t,r,s,a,o,i,n,c,m,l){try{a.classList.add("srfm-active");var u,f=await fieldValidation(t,r,s,e);f?(a.classList.remove("srfm-active"),f[1]&&f[1].focus()):(u=await submitFormData(e))?.success?"same page"===m?(showSuccessMessage(i,n,u?.message??"",e,l),a.classList.remove("srfm-active"),u?.data?.after_submit&&afterSubmit(u)):(redirectToUrl(o),a.classList.remove("srfm-active")):(a.classList.remove("srfm-active"),showErrorMessage(c),a.classList.remove("srfm-active"))}catch(e){a.classList.remove("srfm-active"),showErrorMessage(c)}}function extractFormAttributesAndElements(e){var t=e.getAttribute("form-id"),r=e.getAttribute("message-type"),s=e.getAttribute("success-url"),a=e.getAttribute("ajaxurl"),o=e.getAttribute("nonce"),i=e.querySelector(".srfm-loader"),n=e.parentElement.querySelector(".srfm-single-form.srfm-success-box"),c=n?.querySelector(".srfm-success-box-description"),m=e.querySelector(".srfm-error-message"),l=e.querySelector("#srfm-submit-btn"),u=e.getAttribute("after-submission"),f=e.querySelector(".g-recaptcha");return{formId:t,submitType:r,successUrl:s,ajaxUrl:a,nonce:o,loader:i,successContainer:n,successElement:c,errorElement:m,submitBtn:l,siteKey:f?.getAttribute("data-sitekey"),recaptchaType:f?.getAttribute("recaptcha-type"),afterSubmission:u,captchaErrorElement:e.querySelector("#captcha-error"),hCaptchaDiv:e.querySelector(".h-captcha"),turnstileDiv:e.querySelector(".cf-turnstile")}}function onloadCallback(){Array.from(document.querySelectorAll(".srfm-form")).forEach(e=>{const{formId:t,submitType:r,successUrl:s,ajaxUrl:a,nonce:o,loader:i,successContainer:n,successElement:c,errorElement:m,submitBtn:l,siteKey:u,recaptchaType:f,afterSubmission:d}=extractFormAttributesAndElements(e);let b=!1;"v2-invisible"===f&&(grecaptcha.render(l,{sitekey:u,callback:()=>{handleFormSubmission(e,t,a,o,i,s,n,c,m,r,d),b=!0}}),l.addEventListener("click",()=>{i.classList.add("srfm-active"),b&&handleFormSubmission(e,t,a,o,i,s,n,c,m,r,d)}))})}document.addEventListener("DOMContentLoaded",function(){initializeInlineFieldValidation();for(const r of Array.from(document.querySelectorAll(".srfm-form"))){const{formId:s,submitType:a,successUrl:o,ajaxUrl:i,nonce:n,loader:c,successContainer:m,successElement:l,errorElement:u,submitBtn:e,siteKey:t,recaptchaType:f,afterSubmission:d,captchaErrorElement:b,hCaptchaDiv:h,turnstileDiv:y}=extractFormAttributesAndElements(r);"v3-reCAPTCHA"===f?e.addEventListener("click",e=>{e.preventDefault(),grecaptcha.ready(function(){grecaptcha.execute(t,{action:"submit"}).then(async function(e){e&&handleFormSubmission(r,s,i,n,c,o,m,l,u,a,d)})})}):"v2-checkbox"===f||h||y?r.addEventListener("submit",e=>{e.preventDefault();let t;"v2-checkbox"===f?t=grecaptcha.getResponse():h?t=hcaptcha.getResponse():y&&(t=turnstile.getResponse()),0===t.length?b.style.display="block":(b.style.display="none",handleFormSubmission(r,s,i,n,c,o,m,l,u,a,d))}):r.addEventListener("submit",async function(e){e.preventDefault(),handleFormSubmission(r,s,i,n,c,o,m,l,u,a,d)})}}),window.onloadCallback=onloadCallback,window.handleBricksPreviewFormSubmission=function(){for(const e of Array.from(document.querySelectorAll(".srfm-form")))e.addEventListener("submit",async function(e){e.preventDefault()})};
```
