File "view.js"

Full Path: /home/pumpbmko/public_html/wp-content/plugins/gutenberg/build/block-library/blocks/form/view.js
File size: 1.54 KB
MIME-type: text/plain
Charset: utf-8

/******/ (() => { // webpackBootstrap
var __webpack_exports__ = {};
// eslint-disable-next-line eslint-comments/disable-enable-pair
/* eslint-disable no-undef */
document.querySelectorAll('form.wp-block-form').forEach(function (form) {
  // Bail If the form is not using the mailto: action.
  if (!form.action || !form.action.startsWith('mailto:')) {
    return;
  }
  const redirectNotification = status => {
    const urlParams = new URLSearchParams(window.location.search);
    urlParams.append('wp-form-result', status);
    window.location.search = urlParams.toString();
  };

  // Add an event listener for the form submission.
  form.addEventListener('submit', async function (event) {
    event.preventDefault();
    // Get the form data and merge it with the form action and nonce.
    const formData = Object.fromEntries(new FormData(form).entries());
    formData.formAction = form.action;
    formData._ajax_nonce = wpBlockFormSettings.nonce;
    formData.action = wpBlockFormSettings.action;
    formData._wp_http_referer = window.location.href;
    formData.formAction = form.action;
    try {
      const response = await fetch(wpBlockFormSettings.ajaxUrl, {
        method: 'POST',
        headers: {
          'Content-Type': 'application/x-www-form-urlencoded'
        },
        body: new URLSearchParams(formData).toString()
      });
      if (response.ok) {
        redirectNotification('success');
      } else {
        redirectNotification('error');
      }
    } catch (error) {
      redirectNotification('error');
    }
  });
});

/******/ })()
;