gform_post_calculation_events

gform_post_calculation_events

DescriptionUsageParametersExamplePlacementSource Code

Description
This filter can be used to register custom methods for triggering calculations.
Usage
123gform.addAction( 'gform_post_calculation_events', function ( mergeTagArr, formulaField, formId, calcObj ) {    // do stuff} );

Parameters

mergeTagArr array
The merge tag being processed.
mergeTagArr[0] contains the full merge tag e.g. {Field label:ID:modifier}
mergeTagArr[1] contains the field or input ID e.g. 2
mergeTagArr[3] contains the modifier(s) including the colon e.g. :value
mergeTagArr[4] contains the modifier(s) without the colon e.g. value

formulaField Javascript Object
The current calculation field object. e.g.
1{"field_id":3,"formula":"{:1}+{:2}","rounding":""}

formId integer
The ID of the form in use.

calcObj Javascript Object
The calculation object.

Example
This example shows how you can trigger calculations by adding or removing List field rows or modifying the value of a List field input.
12345678910111213141516171819gform.addAction( 'gform_post_calculation_events', function ( mergeTagArr, formulaField, formId, calcObj ) {    var fieldId = parseInt( mergeTagArr[1] ),        fieldSelector = '#field_' + formId + '_' + fieldId;     if ( jQuery( fieldSelector + ' table.gfield_list' ).length == 1 ) {        jQuery( fieldSelector )            .on( 'click', '.add_list_item', function () {                jQuery( fieldSelector + ' .delete_list_item' ).removeProp( 'onclick' );                calcObj.bindCalcEvent( fieldId, formulaField, formId, 0 );            } )            .on( 'click', '.delete_list_item', function () {                gformDeleteListItem( this, 0 );                calcObj.bindCalcEvent( fieldId, formulaField, formId, 0 );            } )            .on( 'change', ':input', function () {                calcObj.bindCalcEvent( fieldId, formulaField, formId, 0 );            } );    }} );
Placement
Your code snippet can be placed in a HTML field on your form or in a theme custom JavaScript file.
Source Code
This filter is located in js/gravityforms.js

發表回覆

您的郵箱地址不會被公開。 必填項已用 * 標註