Гравитационная форма на WordPress - PullRequest
0 голосов
/ 24 февраля 2020

Я пытаюсь получить динамический c идентификатор формы, чтобы создать раскрывающийся список для конечного пользователя. Это я и сделал здесь.

Теперь я хотел бы передать этот идентификатор, чтобы на основе выбора отображалась другая форма, как показано ниже:

<form class="ui form">
    <select name="select" class="ui fluid search selection dropdown">
           <?php $myforms = RGFormsModel::get_forms(); foreach ($myforms as $form) { ?> 
             <option name="select" value="<?php echo $form->id ?>"> <?php echo $form->title ?> </option>                
        <?php } ?>
    </select>
</form>
<?php echo gravity_form($form, true, true, false, '', true, 1); ?>

Ответы [ 2 ]

0 голосов
/ 26 февраля 2020

Вот что я в итоге сделал, если это поможет кому-то еще:

<form class="ui form">          
    <select name="select" id="select" class="ui fluid search selection dropdown" onchange="location = this.options[this.selectedIndex].value;">
        <?php
            function return_gform_embed(){
                 $form_id = $_GET["form_id"];
                 return do_shortcode('[gravityform id="'. $form_id .'" title="false" description="false"]');
        }
            add_shortcode('form-url', 'return_gform_embed');            
        ?>
        <?php $myforms = RGFormsModel::get_forms(); foreach ($myforms as $form) { ?>
            <option value="/prevention/sessions/?form_id=<?php echo $form->id ?>"> <?php echo $form->title ?> </option>
        <?php } ?>      
    </select>
</form>
<?php echo do_shortcode('[form-url]') ?>
0 голосов
/ 26 февраля 2020

Вот что я мог бы сделать, чтобы создать короткий код для гравитационных форм, который извлекает идентификатор из параметра URL.

function return_gform_embed(){
  $form_id = $_GET["form_id"];
  return do_shortcode('[gravityform id="'.$form_id.'" title="false" description="false"]');
}

add_shortcode('form-url', 'return_gform_embed');

Вы добавили бы шорткод [form-url] на страницу, где вы хотите отобразить форму.

Так что теперь URL с ?form_id=6 будет загружать гравитационную форму с идентификатором 6. Я не проверял весь аспект javascript, но предполагал, что вы можете изменить URL и заставить перезагрузить все должно получиться нормально ,

...