如何在wordpress中创建动态表单?

时间:2016-04-26 14:34:35

标签: wordpress forms dynamic

在WordPress网站上,我希望有一个表单,用户可以提交有关他们提供的课程的数据,但有些提供的课程多于其他课程。因此,我想给他们一个选项,在表单中添加另一个字段,所以看起来有点像下面这样。 基本形式如下:

Course name (text field) - language (dropdown) - date (date picker or text field)

但是如果用户提供2门课程,他们就可以按下按钮,例如“添加行”。并且它会再次给它们三个相同的行。看起来像

Course name 1 - language - date [add row]
Course name 2 - language - date [add row]

但是,如果用户提供1门课程,但是使用2种语言和3个日期,他们应该可以输入,看起来像

Course 1 - language 1 [add language]- date 1[add date][add row]
           language 2 [add language]- date 2[add date][add row]
                                      date 3[add date][add row]
Course 2 - language 1 [add language]- date 1[add date][add row]
           language 2 [add language]- date 2[add date][add row]
           language 3 [add language]

依此类推......

是否可以使用动态字段执行此操作以及如何执行此操作?是否有一个WordPress插件已经提供此(首选)?

2 个答案:

答案 0 :(得分:1)

我相信你需要在前端做到这一点。

为此你需要一些jquery。

将有关课程的字段分组。例如:



$('#add-row').click(function(){

  $('.rows').append("<div class='course-row'><input type='text' name='course-name'><input type='text' name='language'><button class='remove'>remove</button></div>");
  
});

$(document).on('click', '.remove', function(){

  $(this).closest('.course-row').remove();
  
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='rows'>
  
  <div class='course-row'>
    <input type='text' name='course-name'>
    <input type='text' name='language'>
    <button class='remove'>remove</button>
  </div>
  
</div>

<button id='add-row'>Add row</button>
&#13;
&#13;
&#13;

因此,您可以使用select并将所有内容包装到表单中,而不是第二个输入。然后,一旦提交表单,只需从重复的字段中获取并解析传入的数据作为数组。

答案 1 :(得分:0)

你应该看看Advanced Custom Fields。它是一个WordPress插件,可以帮助创建表单,并有一个repeater field addon,可以帮助您。

转发器字段允许您将输入分组在一起,并允许用户根据需要重复这些输入。查看their doc on nested repeaters以获得您想要的效果。