【问题标题】:Jquery - How to save entire form div upon post?Jquery - 如何在发布时保存整个表单 div?
【发布时间】:2011-05-13 11:31:22
【问题描述】:

我有一个包含大量输入文本和复选框的表单。用户可以在提交后对其进行编辑。表单中的数据存储在数据库中。为了允许用户进行编辑,我必须从数据库中检索表单值并填充表单。

至少有 30 个输入,如果我使用 PHP 来比较每个输入,代码很不干净,我相信还有另一种更好的方法。

我正在考虑将整个表单的 html 存储在数据库中,并在用户点击编辑功能时重新加载。

问题 1 如何在提交时保存整个 div#save-div 的 html?如何在php post-submit页面访问$('#sav-div').html?

示例代码

<form type="submit" <form  name="post_item" id="post_item" method="POST" action="post_form.php">
    <div id="save-div">
       <input type="text" id="1" />
       .
       .
       .
       //many input text and check boxes
    </div>
</form>

问题 2 当我的 PHP 页面加载时,我从数据库中检索到 html 代码时是否取消转义/转义?谁能写个简单的例子?

【问题讨论】:

  • 不要存储form 的 HTML 代码。巨大的安全漏洞,它是。
  • @bazmegakapa,你说话像尤达。

标签: jquery forms


【解决方案1】:

提交 HTML 听起来是个坏主意。

您可以做的是在客户端使用一些 javascript,并使用 jQuery 实例为您自己构建一个您发布的 JSON 对象,而不是表单字段。

几乎可以肯定,PHP 有一个不错的 JSON 解析器,您可以使用它来将 JSON 解析为您在 PHP 中拥有的对象模型。

这是一个有趣的 SO 问题,解释了如何将整个表单“序列化”为 JSON:Convert form data to JavaScript object with jQuery

【讨论】:

    【解决方案2】:

    将整个 html 存储在数据库中不是一个好主意。为什么不直接包含表格?当用户单击编辑时,检索相关的输入值并将其回显到表单中。

    您也可以使用 AJAX 来执行此操作,但必须根据您想要完成的更具体。

    在问题 2 中,从数据库中检索时您无需执行任何操作。但是插入数据库你应该逃避。

    【讨论】:

      猜你喜欢
      • 2013-05-23
      • 1970-01-01
      • 1970-01-01
      • 2020-03-11
      • 2015-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多