【问题标题】:Adding multiple records on a form using jquery使用jquery在表单上添加多条记录
【发布时间】:2011-06-12 00:55:47
【问题描述】:

我有一个允许某人添加新事件的事件表单。一个事件可以有多个位置,我想使用 jquery 做的是在添加表单上让他们能够在提交表单之前添加多个位置。我知道如何设置表单以添加多个位置,但问题是存储用户添加的多个位置的最佳方式是什么,以便我可以在添加它们时将其显示在表单上以及重新如果此人提交表单并且忘记了必填字段,则显示它们?

*编辑*

为了提供更多关于我试图在表单上完成什么的信息,我正在查看一个显示添加位置的链接,然后会弹出一个窗口询问该位置的地址。输入位置后,他们单击添加,然后该位置显示在表单上。然后他们可以重复该步骤以添加其他位置。完成后,表单会显示要为该事件添加的所有位置,然后该人提交表单,我可以遍历通过表单添加的位置,以便将它们添加到数据库中。那么我如何将位置存储在表单中来完成呢?

【问题讨论】:

    标签: jquery webforms


    【解决方案1】:

    更新 正确答案在下面的 cmets 中: 在数据库中创建一个“位置”表,其中包含每个位置以及与之关联的所有字段。然后,您可以只使用数组中的位置 id,然后在遍历数组时,您可以提取该位置 id 的所有关联字段。

    如果您使用的是 JQuery UI,您可能需要考虑一些 JQuery MultiSelect 插件:

    http://www.erichynds.com/jquery/jquery-ui-multiselect-widget/

    http://plugins.jquery.com/project/jquery-multiselect

    若要在表单上向用户显示选中的值,以及是否有任何错误,请调用适当的方法(如果您使用的是 jQuery UI MultiSelect 小部件,则为“getChecked”)以获取一个数组所有选中的复选框。

    【讨论】:

    • 感谢您的信息。这看起来不像我正在寻找的东西。这些位置有多个字段,例如街道、城市、州邮编等。所以我希望在一个表单上添加多个位置,然后能够提交并循环遍历它,以便将其添加到数据库中。
    • @John 我明白了。嗯,这有点更具挑战性。您使用什么语言?由于您在每次提交表单时都加载了一个新页面,因此您可以声明一个空白列表/数组,然后在每次提交表单时将该位置的 id 添加到列表/数组中。然后,您可以将 JQuery 变量设置为您的列表/数组值,然后在将数据发布到数据库时进行迭代。有点破解,但可能会成功。
    • @John 找到了一个可能有用的教程:chromaticsites.com/blog/…
    • 我正在使用 PHP。我计划使用临时表,因此当有人进入事件表单时,将生成一个唯一键,并且添加的每个位置都将在临时表中创建并由唯一 ID 跟踪。但在做所有这些之前,我试图找到一个不太密集的解决方案,可能将所有字段放入一个我可以通过表单访问的数组中。但我迷路的地方是每个位置都需要多个字段。
    • @John 如何在数据库中创建一个“位置”表,其中包含每个位置以及与之关联的所有字段。然后,您可以只使用数组中的位置 id,然后在遍历数组时,您可以提取该位置 id 的所有关联字段。这行得通吗?
    【解决方案2】:

    当他们单击添加位置时,我会在灯箱中提供另一个表单,当他们提交时 - 关闭灯箱并将其(连同其内容)添加到原始表单中)。希望这就是你想要完成的。祝你好运!

    【讨论】:

    • @DropTheNerd 是的,这就是我想要它做的事情,但让他们能够在多个位置这样做。如何将通过灯箱添加的位置存储在提交表单后可以处理的变量中?该位置也将有多个字段。
    • 好吧,您可以将它们作为用户数据的新输入添加回初始表单 - 或者将它们与用户数据一起设置为隐藏字段,然后它将与表单的其余部分一起提交.否则,您可能希望将它们存储在会话中,但这很快就会变得非常混乱。
    • @DropTheNerd 我在想,因为在添加新事件时需要多个字段来创建唯一 id 并将位置存储在临时表中并使用 jquery ajax 动态加载所有位置通过此事件的表单添加的内容,并在此人提交表单时查询表。我只是觉得这很极端,但看起来这是唯一可行的解​​决方案。
    • 由于有多个相同的位置字段,因此只需将它们命名为 location[1]、location[2] 等。然后在您的帖子中使用 foreach($_POST['location '] as $k => $v) 来获取多个位置。
    • @DropTheNerd 问题是每个位置都有多个字段。街道字段、城市字段、州字段、邮政编码字段。并且每个位置都需要添加到数据库中的事件位置表中,所以我需要为数据库条目分解每个字段。
    猜你喜欢
    • 2015-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-19
    • 2012-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多