Поле caculated number возвращает 0 после отправки формы в форме Gravity.

Я сократил числовое поле из 11 символов до 4 символов с помощью JavaScript в форме Gravity. В конце я использую выходной номер в другом числовом поле. На странице формы все в порядке, числовое поле вырезано правильно, но на внутренней стороне я получаю 0.

Вот что я использую для вырезания числового поля:

<script> gform.addFilter( 'gform_calculation_format_result', function(formattedResult, result, formulaField, formId, calcObj,trimmedresult, output){
if ( formulaField.field_id == '73' ){ formattedResult = gformFormatNumber(result, !gformIsNumber(formulaField.rounding) ? -1 : formulaField.rounding, ',', ''); output = formattedResult.substr(6, 4); } return output; }); </script>

Как я могу справиться с этим, друзья?


person Hamed Kiani    schedule 25.07.2018    source источник


Ответы (1)


По соображениям безопасности Gravity Forms повторно обрабатывает отправленное значение для полей расчета, чтобы гарантировать, что расчет не будет изменен. Вам нужно будет проделать ту же логику на стороне сервера. Попробуйте версию этого фильтра для PHP: gform_calculation_result

https://docs.gravityforms.com/gform_calculation_result/#php-version

person Dave from Gravity Wiz    schedule 27.07.2018
comment
Спасибо за ответ Дэвид, не могли бы вы объяснить, как работает код и как мне его изменить для моих целей? - person Hamed Kiani; 28.07.2018