WS Form fires a number of different events during the lifecycle of a form. You can use these to run your own javascript when the event fires.
All WS Form events are passed the following parameters:
event– Event objectform_object– The form object (Form configuration).form_id– The form ID.instance_id– The instance ID of the form on the page. This is an integer that begins with 1. To learn more about instances, click here.form_el– The form element jQuery objectform_canvas_el– The form canvas element jQuery object
When using the WS Form WooCommerce extension, form_el will refer to the WooCommerce product form and form_canvas_el will refer to the form injected by WS Form.
Example of using the WS Form JavaScript are:
$(document).on('wsf-submit-before-ajax', function(event, form_object, form_id, instance_id, form_el, form_canvas_el) {
// Debug
console.log('Event type: ' + event.type + ' fired.');
console.log('Form ID: ' + form_id);
console.log('Instance ID: ' + instance_id);
// Get FormData object from form element
var form_data = new FormData(form_el[0]);
});
… where wsf-submit-before-ajax is the event type. In this example, the wsf-submit-before-ajax event fires immediately before we push the form data to our server side API.
Another example showing how to handle a lock event on the form. The form is locked when the form submit button is clicked to help prevent double clicks.
$(document).on('wsf-lock', function(event, form_object, form_id, instance_id) {
alert('Form ID ' + form_id + ' was locked!');
});
Events
The JavaScript events fired by WS Form at a document level are chronologically listed below:
| Name | Description | Trigger |
|---|---|---|
| Rendered | This fires when a form has finished rendering. | wsf-rendered |
| Tab Clicked | This fires when a tab is clicked or is moved to using conditional logic. | wsf-tab-clicked |
| Submit Before | This fires prior to the form being submitted (when submit button is clicked). | wsf-submit-before |
| Save Before | This fires prior to the form being saved (when save button is clicked). | wsf-save-before |
| Validation Before | This fires prior to the form being validated. | wsf-validate-before |
| Validation After | This fires when form validation has finished. | wsf-validate-after |
| Validation Success on Submit | This fires when validation was successful on submit. | wsf-submit-validate-success |
| Validation Success on Save | This fires when validation was successful on save. | wsf-save-validate-success |
| Validation Fail on Submit | This fires when validation failed on submit. | wsf-submit-validate-fail |
| Validation Fail on Save | This fires when validation failed on save. | wsf-save-validate-fail |
| Submit | This fires when the form data is about to be processed for submission. | wsf-submit |
| Save | This fires when the form data is about to be processed for saving. | wsf-save |
| Lock | This fires when the form is locked, just prior to the data being posted on a submit or save. | wsf-lock |
| Submit Ajax Before | This fires just before the form data is submitted to the WS Form server side API after the Submit button is clicked. | wsf-submit-before-ajax |
| Save Ajax Before | This fires just before the form data is submitted to the WS Form server side API after the Save button is clicked. | wsf-save-before-ajax |
| Complete | This fires when the form submit or save is completed. | wsf-complete |
| Submit Complete | This fires when the form submit is completed. | wsf-submit-complete |
| Save Complete | This fires when the form save is completed. | wsf-save-complete |
| Success | This fires when the form submit or save is successful. | wsf-success |
| Submit Success | This fires when the form submit is successful. | wsf-submit-success |
| Save Success | This fires when the form save is successful. | wsf-save-success |
| Error | This fires when the form submit or save encounters an error. | wsf-error |
| Submit Error | This fires when the form submit encounters an error. | wsf-submit-error |
| Save Error | This fires when the form save encounters an error. | wsf-save-error |
| Actions Start | This fires when the form actions start to run on the client side. | wsf-actions-start |
| Actions Finish | This fires when the form actions finish on the client side. | wsf-actions-finish |
| Unlock | This fires when the form is unlocked. | wsf-unlock |
| Reset Before | This fires when a form reset starts (when reset button is clicked). | wsf-reset-before |
| Reset Complete | This fires when a form reset completes. | wsf-reset-complete |
| Clear Before | This fires when a form clear starts (when clear button is clicked). | wsf-clear-before |
| Clear Complete | This fires when a form clear completes. | wsf-clear-complete |