2011-06-12 41 views
0

我有一个允许某人添加新事件的事件表单。一个事件可以有多个位置,我想用jQuery来做的事情是在添加表单上,让他们能够在提交表单之前添加多个位置。我对如何进行表单设置以添加多个位置有所了解,但问题是存储用户添加的多个位置的最佳方式是什么,以便我可以在表单中将其显示在添加它们的位置,如果该人员提交表格并且他们忘记了必填字段,则显示他们?使用jquery在表单上添加多条记录

* 编辑 *

为了给什么我试着去完成我一直在寻找有一个链接,说添加位置在窗体上的详细信息,然后弹出来了询问地址的位置。一旦他们进入位置,他们点击添加,然后该位置显示在窗体上。然后他们可以重复该步骤来添加其他位置。一旦完成表单显示要添加的事件的所有位置,然后该人员提交表单,我可以循环通过表单添加的位置,以便我可以将它们添加到数据库中。那么我如何将这些位置存储在表单中来完成呢?

回答

0

UPDATE 正确答案在下面的评论中: 在数据库中创建一个“位置”表,每个位置以及与其相关的所有字段。然后,您可以在数组中使用位置标识,然后在迭代数组时,可以为该位置标识抽取所有关联的字段。

如果您使用jQuery UI,你可能要考虑一些JQuery的多重选择插件:

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

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

为了让检查的值显示给用户的形式,以及是否有任何错误,请调用适当的方法(如果您使用jQuery UI MultiSelect Widget,则为'getChecked')以获取所有选中复选框的数组。

+0

感谢您的信息。那看起来不像我在找什么。地点有多个领域,如街道,城市,国家邮编等。因此,我希望在一个表单上添加多个位置,然后能够提交并通过它循环,所以我可以将其添加到数据库。 – John 2011-06-12 01:24:57

+0

@John我明白了。嗯,这有点更具挑战性。你在用什么语言?由于您要在每个表单提交中加载一个新页面,因此您可以声明一个空白列表/数组,然后在每个表单提交中将该位置的标识添加到列表/数组中。然后,您可以将JQuery变量设置为您的列表/数组值,然后在将数据发布到数据库时有一些迭代。一种黑客,但可能会伎俩。 – 2011-06-12 01:29:41

+0

@John发现了一个可能有用的教程:http://www.chromaticsites.com/blog/jquery-tutorial-selecting-multiple-select-form-elements-on-the-fly/ – 2011-06-12 01:37:35

0

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

+0

@DropTheNerd是的,这是我想要它做的,但使他们能够为多个位置做到这一点。如何将通过灯箱添加的位置存储在一个表单提交后我可以处理的变量中?该位置也会有多个字段。 – John 2011-06-12 03:10:46

+0

那么,你可以将它们添加回初始表单作为用户数据的新输入 - 或者将它们设置为隐藏字段与用户的数据,它会与表单的其余部分一起提交。否则,你会希望将它们存储在一个会话中,但这可能会非常迅速地变得非常混乱。 – DropTheNerd 2011-06-12 03:13:31

+0

@DropTheNerd我在想,因为在添加新事件时只需创建一个唯一标识符,并将这些位置存储在临时表中并使用jquery ajax动态加载所有通过表单添加的位置此事件,并在个人提交表单时查询表格。我只是觉得这是极端的,但看起来像是唯一可行的解​​决方案。 – John 2011-06-12 03:16:10

相关问题