Gravity Forms 플러그인 - 폼 필드를 동적으로 채우지 않음
그라비티 폼에 문제가 좀 있어요.다중 페이지 양식이며, 1페이지의 포스트 값을 사용하여 2페이지의 필드를 입력해야 합니다.근데 안 되네.물론 2페이지의 필드는 "필드를 동적으로 입력할 수 있도록 허용"으로 구성되고 필드의 매개 변수는 "이름"으로 설정됩니다.제 코드는 다음과 같습니다.
add_filter('gform_field_value_name', 'name_population_function');
function name_population_function($value){
$name = $_POST['input_2'] . ' ' . ( ! empty( $_POST['input_3'] ) ? ( $_POST['input_3'] . ' ' ) : NULL ) . $_POST['input_1'];
return $name;
}
값을 출력할 때$name
변수 사용var_dump($name);
사실 맞습니다.
변경했을 경우$name
로.$name = 'Last Middle First';
필요한 만큼 필드를 채우고 있습니다.
도와주셔서 고맙습니다.
EDIT: 테스트를 위해 코드를 다음과 같이 변경했습니다.
add_filter('gform_field_value_name', 'name_population_function');
function name_population_function($value){
$name = 'Test';
if ( ! empty( $_POST['input_1'] ) && ! empty( $_POST['input_2'] ) ) {
$name = $_POST['input_2'] . ' ' . ( ! empty( $_POST['input_3'] ) ? ( $_POST['input_3'] . ' ' ) : NULL ) . $_POST['input_1'];
//var_dump( $name );
}
return $name;
}
이 행의 코멘트를 해제하면var_dump
변수의 값$name
다시 올바르게 설정되었지만 2페이지의 필드에 값이 미리 입력되어 있습니다.Test
아마 이 필터는 1페이지에서도 호출될 것 같은데 플러그인이 이 값을 캐시할 수 있을까요?캐싱 플러그인을 사용하지 않기 때문에 왜 작동하지 않는지 알 수 없습니다.
여러 페이지에 걸쳐 폼을 작성하는 대신 jQuery를 사용하여 여러 페이지의 이미지를 만들 수 있습니다..hide
또는.slideToggle
이렇게 하면 문제가 해결되고 폼 데이터 제출이 훨씬 쉬워집니다.그런 다음 단순히 과거 입력의 값을 호출합니다.
쿼리 문자열을 사용하여 데이터를 유지하고 필드를 동적으로 채울 수 있습니다.
http://siteurl.com/form-url/?your_parameter=값
add_filter('gform_field_value_author_email', 'populate_post_author_email');
function populate_post_author_email($value){
global $post;
$author_email = get_the_author_meta('email', $post->post_author);
return $author_email;
}
대신 이 gform_pre_render 필터를 사용해 보십시오.ID 7에 필터를 추가합니다. 7을 Gravity 양식의 ID로 바꿉니다.
add_filter('gform_pre_render_7', 'populate_form_pre_render');
function populate_form_pre_render($form){
$name ='';
foreach ($form['fields'] as &$field)
{
// replace 2 with the actual ID of your form field
if ( 2 == $field['id'] ){
if ( ! empty( $_POST['input_1'] ) && ! empty( $_POST['input_2'] ) ) {
$name = $_POST['input_2'] . ' ' . ( ! empty( $_POST['input_3'] ) ? ($_POST['input_3'] . ' ' ) : NULL ) . $_POST['input_1'];
//var_dump( $name );
}
$field['defaultValue']=$name;
echo '<pre>';
print_r($field);
echo '</pre>';
}
}
return $form;
}
언급URL : https://stackoverflow.com/questions/13433482/gravity-forms-plugin-dynamically-populating-form-field-isnt-working
'source' 카테고리의 다른 글
Angular JS : 공장 출하시 $http 서비스 (0) | 2023.02.28 |
---|---|
React 구성 요소 업데이트(매초) (0) | 2023.02.28 |
Python 그래프 라이브러리 (0) | 2023.02.28 |
이 응용 프로그램에는 /error에 대한 명시적 매핑이 없습니다. (0) | 2023.02.28 |
Tomcat 컨테이너에 여러 웹 애플리케이션을 포함하는 Spring Boot 액추에이터는 javax.management를 슬로우합니다.인스턴스 이미Exception 예외 (0) | 2023.02.28 |