5

我为 WordPress 安装了 Ninja Forms 和 ACF。我在 Ninja Forms 中有一个隐藏字段,我需要使用 ACF 字段中的值重新填充它。

我尝试了简单的 jQuery,但它不起作用:

$('input[name=nf-field-19]').val('<?php the_field('rsvp_email'); ?>');

如您所知.. 我不是 PHP 或 jQuery 人.. 试图摆弄并找到解决方案。

谢谢!

4

2 回答 2

8

出于某种原因,你需要这个从 JS 工作吗?我正在使用ninja_forms_render_default_value过滤器挂钩来预填充隐藏的表单字段:

/**
 * Populate hidden input with ACF values
 */
function nf_hidden_field_values( $value, $field_type, $field_settings ) {
    global $post;
    $value = ''
    if ( $field_settings['key'] == 'hidden_field_1' ) {
        $value =  get_field('acf_field_1', $post->ID);
    }

    if ( $field_settings['key'] == 'hidden_field_2' ) {
        $value = get_field('acf_field_2', $post->ID);
    }

    return $value;
}
add_filter( 'ninja_forms_render_default_value', 'nf_hidden_field_values', 10, 3 );
于 2018-03-15T18:27:15.867 回答
1

你可以用 Jquery 来做,你只需要触发一个更改事件:

var fieldID = 197;
var newValue = 'compactpro';
jQuery( '#nf-field-' + fieldID ).val( newValue ).trigger( 'change' );

资源: https ://developer.ninjaforms.com/codex/chang-field-values/

于 2018-12-06T10:11:48.827 回答