我使用“高级自定义字段转发器”字段生成一个选择菜单,其中的值与Wordpress短代码对应,以在页面上显示表单。选择其他选项时,应显示不同的表单。这是我尝试的代码:
<select id="forms">
<option value="">Pick a form</option>
<?php while(the_repeater_field('the_forms')): ?><option value="<?php the_sub_field('form_shorttag'); ?>"><?php the_sub_field('form_name'); ?></option><?php endwhile; ?>
</select>
<div id="form_display"></div>
<script>
jQuery("#forms").on("change", function(){
var theform = jQuery(this).val();
jQuery("#form_display").html(<?php echo do_shortcode(+ theform); ?>);
})
</script>
我认为这将是一项简单的任务,但我肯定错过了一些东西,因为它不起作用。非常感谢任何建议。
答案 0 :(得分:0)
您可以做的是使用以下所有形式在JavaScript中创建变量:
var someform = <?php echo json_encode(do_shortcode("someform")); ?>;
json_encode 将PHP输出用双引号括起来。然后在onchange事件中进行切换:
var form_content;
switch (theform) {
case "someform" :
form_content = someform;
break;
(other cases)
}
jQuery("#form_display").html(form_content);
有更好的方法,但这可能适合你。