0

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

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

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

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

4

3 回答 3

1

看看这个:http ://www.jqbyte.com/StickyForms/

这是一个不错的技巧,您可以使用——将新添加的字段和值存储在 cookie 中。

于 2013-01-09T19:53:08.410 回答
0

好吧,我想给你一些建议。

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

还有其他一些提交表单和获取帖子数据的方法。

如何使用 jquery ajax 重新填充验证失败的表单

于 2013-01-09T19:47:52.270 回答
0

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

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

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

为了实现这一点,您可能应该重构处理表单输出/提交的控制器。提交组件应该进入一个单独的控制器,以JSON表单形式输出结果,以便 jQuery 轻松解析它。

参考:是一个看起来可能对您有所帮助的教程。

有任何问题,然后发表评论。

于 2013-01-09T19:49:45.623 回答