Gravity Forms 계산에서 지수 사용
첫째, 저는 자바스크립트나 jQuery에 전혀 정통하지 않습니다.그렇기는 하지만, 저는 지수를 포함하는 절약 계산기를 만들기 위해 Gravity Forms를 사용하고 있습니다.이 스레드를 찾았지만 실제로 지수 값을 계산할 때 어떻게 작동하는지 혼란스럽습니다.
제 설정은 이렇습니다.
사용자 정의 필드는 3개입니다.
- 원금금액
- 이자율
- 월지급건수
실제 계산은 사용자로부터 숨겨집니다.여기에는 두 가지 공식이 동시에 계산됩니다.첫 번째는 '총 관심사'를 찾는 '사용자 계산'입니다.두 번째는 1.95%의 고정금리를 적용한 '고정금리 계산'으로, 사용자 정의 필드 대신 동일한 목표를 향해 나아갑니다.고정 비율은 차치하고, 두 공식은 동일하며, 그 결과는 지수가 없는 최종 공식으로 통합됩니다.감사하게도.다음은 사용자 입력 후 처음 세 개의 '숫자' 필드(이름 및 공식)입니다.
'CALC'<br>
( {Interest rate::2} / 12 ) / 100
'MP exponent'
( 1 + {CALC:8} ) <---This is the formula that requires an exponent equal to the user-defined "Number of monthly payments" field.
'MP numerator'
{CALC:8} * {Principal amount::1} * {MP exponent:10}
공식은 계속되고 있고, 그 공식은 다음과 같은 것이 포함되어 있습니다.MP exponent필드를 여러 번 돌립니다.여기 제 경우를 고려할 때, 앞서 언급한 스크립트(소스 포스트에서 편집되지 않음)를 사용할 수도 있습니다.
<script>
gform.addFilter( 'gform_calculation_result', function(result, formulaField, formId, calcObj ){
if ( formulaField.field_id == "2" ) {
var field_five = jQuery('#input_2_5').val();
result = field_five * 12;
}
return result;
});
</script>
내 계산상?4개의 다른 필드에 이런 것을 어떻게 지정해야 할지 전혀 모르겠습니다.그래비티 폼으로는 불가능할 수도 있다는 것을 이해하고 있습니다. 물론 간단하지 않을 수도 있기 때문에 커뮤니티가 제게 어떤 도움을 줄 수 있다면 대단히 감사하겠습니다.
위에서 사용하신 자바스크립트 스니펫은 사용자가 보는 것은 변경되지만 저장된 양식 데이터는 변경되지 않습니다.대신 기능에 PHP 필터를 추가해야 합니다.당신 테마의 php 파일입니다.
add_filter( 'gform_calculation_result', function ( $result, $formula, $field, $form, $entry ) {
if ( $form['id'] == 1 && $field['id'] == 10 ) {
$base = 1 + (float) rgar( $entry, '8' ); // '8' should be field ID of Calc
$exponent = (float) rgar( $entry, '1' ); // '1' should be field ID of Number of monthly payments
$result = pow( $base, $exponent );
}
return $result;
}, 10, 5 );
경고: 양식을 작성할 때 사용자가 "보이는" 것은 변경되지 않습니다.사용자가 제출 버튼을 누른 후에만 최종 계산이 변경됩니다.
숨겨진 양식 데이터를 사용하는 것보다 이와 같은 필터에서 모든 계산을 수행하는 것이 더 깔끔할 것입니다.
언급URL : https://stackoverflow.com/questions/30715138/using-exponents-in-gravity-forms-calculations
'programing' 카테고리의 다른 글
| @viewChild가 작동하지 않음 - property nativeElement of undefined를 읽을 수 없습니다. (0) | 2023.10.14 |
|---|---|
| Eslint angular and jasmine: 정의되지 않음 - undefect (0) | 2023.10.14 |
| Oracle SQL Developer: 리플렉터에서 결과를 보는 방법은 무엇입니까? (0) | 2023.10.14 |
| Google Analytics로 Wordpress 백엔드에서 생성된 PDF 추적 (0) | 2023.10.14 |
| 프로젝트 빌드가 중지됨: "Bower/npm 패키지 복원이 완료될 때까지 빌드가 지연됩니다." (0) | 2023.10.14 |