Add to cart form
Shevaughn avatar
Written by Shevaughn
Updated over a week ago

product-customizer-add-to-cart-form-handlers-setup

Triggered after setting product customizer's own form handlers - handle file uploads, enforce required fields, set up option pricing.

Origin element (target)

'.product-customizer-options'

Handler arguments

โš”๏ธ None

Usage examples

Add a custom form handler.

// Must enforce required fields because bold cart keeper app bypasses browser
// built-in form validation by calling $('#AddToCart').closest('form').submit()
$('.product-customizer-options[data-product-id="##{{ product.id }}"]').on(
  'product-customizer-add-to-cart-form-handlers-setup',
  function(event) {
    var productId, always;
    productId = $(event.target).data('productId');
    if (!productId) {
        return; // There is no product id. Don't just do something, sit there! :P
    }
    shopstorm.apps.productCustomizer.options.enforceRequiredFields(productId, always = true)
  }
);

product-customizer-unbind-product-form-handlers

Triggered after unbinding (removing) product form event handlers.

Origin element (target)

'.product-customizer-options'

Handler arguments

โš”๏ธ None

Usage examples

Add our own custom product form handler after others are removed.

$('.product-customizer-options').on(
  'product-customizer-unbind-product-form-handlers',
  function(event) {
    $(this).closest('form[action="/cart/add"], form[action^="/cart/add"]').on('submit', function() {
      console.log('Custom form event handler fired. Form is: ', this);
    });
  }
);
Did this answer your question?