【问题标题】:Reload page with jquery inputs使用 jquery 输入重新加载页面
【发布时间】:2013-01-09 17:10:23
【问题描述】:

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

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

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

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

【问题讨论】:

  • 你能解释一下你的问题吗?

标签: php codeigniter


【解决方案1】:

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

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

【讨论】:

  • 谢谢,我看了一下,这似乎是解决我的问题的最简单方法。
【解决方案2】:

我想给你一些建议。

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

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

How to repopulate form with failed validation with jquery ajax

【讨论】:

    【解决方案3】:

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

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

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

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

    参考:Here 的教程看起来可能会对您有所帮助。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-22
      • 2011-04-18
      • 2014-09-06
      • 2011-10-05
      • 2014-08-26
      相关资源
      最近更新 更多