How to hide inputs in form submission

I have a general question about form submission that I was not able to find any info about it.

I have a form in my website for clients to send their details, and Webflow email me their form submissions, until then, great. But I have a few info in that form that is irrelevant for me to receive in the email, and I wasn’t able to find a solution to hide those inputs in the response.

image

For example, from the image above of the email with the form submission, I would like to hide the field “cf-turnstile-response” and “Checkbox” from the email, can I do that?

Thanks!

Not using Webflow’s form notification emails.
You could build your own however using automation like make.com and a transactional email provider like MailJet.

So I have ZERO control over the form inputs sent to me by email and can’t even hide a few? :cold_sweat:

None that I’ve ever seen. You might contact support and see if they have some kind of custom attribute to suppress form fields that you do not want to appear in the email, but I’m fairly certain that does not exist.

Webflow’s form submit capture has no configuration options. It stores the form submit data and, optionally it email all of it too.

Hello everyone!

I encountered the same problem where Webflow was sending unnecessary input fields (like qty) in the form submission.
The workaround I found is to capture the form data before submission, process it with JavaScript, and remove any fields you don’t want to send.

Here’s an example for the Pre-Order form:


document.addEventListener('DOMContentLoaded', () => {
  const form = document.querySelector('#wf-form-pre-order');
  if (!form) return;
  form.addEventListener('submit', () => {
    collectProductsForForm();
  });
});
function collectProductsForForm() {

  // Select all product wrappers


  const wrappers = document.querySelectorAll('.th_product_wrapper');
  const products = \[\];

  // Helper function to write product info into hidden input fields

  function writeProductsToFields(products) {
    const fieldNames = \[
      
    \];
    fieldNames.forEach((name, i) => {
      const field = document.querySelector(\`input\[name="${name}"\]\`);
      if (field) {
        field.value = products\[i\] || '';
      }
    });
  }

  // Loop through each product wrapper

  wrappers.forEach(wrapper => {
    const name = wrapper.querySelector('.product-name')?.dataset.name;
    const rawPrice = wrapper.querySelector('.product-price-field')?.dataset.price;
    const discountRawPrice = wrapper.querySelector('.product-discount-price-field')?.dataset.discountPrice;
    let price = 0;
    if (discountRawPrice) {
      price = parseFloat(discountRawPrice.replace(/\[^0-9.\]/g, ''));
    } else if (rawPrice) {
      price = parseFloat(rawPrice.replace(/\[^0-9.\]/g, ''));
    } else {
      return; // skip this product if price is missing
    }

    const qtyInput = wrapper.querySelector('.qty');
    const qty = Number(qtyInput?.value || 0);

    // Remove the quantity input so it doesn't get sent in the email after recording or using data

    if (qtyInput) qtyInput.remove();

    if (!name || isNaN(price) || qty <= 0) return;
    const lineTotal = price \* qty;

    // Save product info for hidden fields

    products.push(
      \`${name} | Qty: ${qty} | Unit: $${price} | Total: $${lineTotal}\`
    );
  });

  // Write all product info into hidden fields to be submitted

  writeProductsToFields(products);
}