在PHP中形成组件重复

时间:2012-02-28 17:35:06

标签: php javascript jquery html forms

我想创建一个带有表单字段/组件重复功能的简单表单。

我在网上搜索过。但我找不到任何适当的教程。

例如,我的表单字段包含以下内容。

1. Title
2. Email

3a. Image Name 
3b. Image Description
3c. Image file

3a,3b,3c是这里的一组。所以我们称之为“图像组”。 我希望在该组下方有一个重复的链接,我的用户可以点击该链接并复制任意数量的链接。

我要问的是{p> Here is an example。 Ps:我不想使用jformer。因为它加载了所有脚本并且花费了很多时间来加载页面。这就是为什么我问这个问题。

由于

2 个答案:

答案 0 :(得分:1)

由于您将问题标记为与jquery相关,因此您应该在此处查看克隆方法:http://api.jquery.com/clone/

你需要对可以复制的字段进行分组(假设将它们括在一个范围内),这样你就可以拥有所有这些字段的选择器,克隆然后使用append或prepend等方法来“注入”相同的元素再次

如果要在服务器端处理这些值,则应使用数组作为名称(输入类型=“text”name =“image_name []”)

答案 1 :(得分:1)

您需要做的就是编写一个JavaScript函数,将一组新的表单元素附加到给定的容器中。像这样:

<div id="imageforms">
    <fieldset id="firstimage">
       <input type="text" name="imagenames[]" />
       <textarea name="imagedescriptions[]"></textarea>
       <input type="file" name="imagefiles[]" />
    </fieldset>
</div>
<a href="#" onclick="addAdditionalImage(); return false;">add another image</a>

然后你需要JavaScript函数:

 function addAdditionalImage() {
      $('#imageforms').append($('#firstimage').clone());
 }

这里最有趣的部分是name="xxx[]"的用法,它告诉PHP从表单值创建一个数组。