使用jquery输入重新加载页面

时间:2013-01-09 17:10:24

标签: php codeigniter

在我的应用程序中,用户可以创建自己的Web表单进行注册。每个新添加的字段都有三个元素:field_namefield_typefield_rules。我至少需要指定field_name

我的问题是当验证失败时,我在页面重新加载时丢失了新添加的表单字段。如何将表单错误发送回每个受尊重的表单字段,并在表单验证失败时仍然保留所有工作?

编辑:对不起,如果我不清楚。好的,所以jQuery用于向页面添加表单字段。每个克隆的div包含三个文本框:field_name,field_type和field_rules。我想要做的是使用CodeIgniter迭代这些数组,以检查我需要的字段是否包含内容。如果没有,我想将用户发回到表单页面,其中包含所有用户添加的jQuery克隆div,其中包含用户定义的数据。

我一直在研究一个条件构造,它将检查$ data数组以确定它是否应该迭代div。我想知道的是,是否有更简单的方法:即:在下一页加载时将数据发送到jQuery。

3 个答案:

答案 0 :(得分:1)

检查出来:http://www.jqbyte.com/StickyForms/

这是一个很好的技巧,你可以使用 - 在cookie中存储新添加的字段和值。

答案 1 :(得分:0)

有一些建议我想给你。

当你使用jquery创建一个隐藏的输入字段并将其值设置为0时 当用户创建克隆div时,将其值更新为+1 当您提交字段并且验证失败时,可以使用发布数据 使用jquery document.ready并调用一个简单的函数,该函数将在页面加载时运行并获取隐藏的输入值 如果值为0则不执行任何操作,如果值为3,则设置3个克隆div 这样,用户将拥有与提交表单之前相同数量的字段。

还有一些提交表格和获取发布数据的其他方式。

How to repopulate form with failed validation with jquery ajax

答案 2 :(得分:0)

在这种情况下,表单提交的传统模型在重新创建PHP需要输出的表单字段方面不太实用。

您应该查看使用Ajax调用来执行表单提交。使用Ajax,您可以获取所有表单字段并将它们捆绑到请求中。然后,请求将发布到您的服务器,并从服务器调用返回响应。

使用Ajax,整个页面不会重新加载。您负责从服务器解析结果并将其呈现给用户。

要实现这一点,您应该重新考虑处理表单输出/提交的控制器。提交组件应该进入一个单独的控制器,以JSON形式输出结果,以便jQuery可以很容易地解析它。

参考:Here这是一个看起来可能对你有用的教程。

如有任何问题,请发表评论。