【问题标题】:Codeigniter submit form written in plain HTMLCodeigniter 提交以纯 HTML 编写的表单
【发布时间】:2012-12-06 04:49:12
【问题描述】:

我现在玩了大约 2 天,但无法解决这个问题。我在codeigniter 2.1.0. 工作,我想提交一个用 HTML 编写的表单。我不想使用 CI 表单助手。

原因是因为我使用 JavaScript 在表单中动态添加内容。当用户单击一个项目时,它就会被添加到表单中。现在,当用户单击提交按钮时,我添加的所有项目都应该在 POST 请求中发送,但我的 POST 完全是空的。

现在我注意到只有在我使用 CI form_helper 中的form_input() 时才会发送 POST。 是否可以在不使用表单助手的情况下只提交普通的纯 HTML 表单?

【问题讨论】:

  • 当然可以,而且form_input()只是给你写html,后面没什么神奇的。你能发布你正在使用的代码吗?

标签: php forms codeigniter submit


【解决方案1】:

是否可以在不使用表单助手的情况下只提交普通的纯 HTML 表单?

是的。实际提交完全独立于 CI,只需确保您使用表单的正确操作 URI,以便表单提交 post(我假设您的表单方法是 post)请求调用正确的控制器操作。

提交按钮不需要使用 CI form_helper。如果你用这些来模拟一个表单,你会发现它们只是生成纯 HTML,并没有神奇地做任何事情。

【讨论】:

  • 天哪,我的这种愚蠢的错误。我忘了把标签的名称属性。但现在我注意到我用我的 javascript 添加的东西并没有在请求中发送。任何想法为什么?
  • 确保将动态表单元素放置在该表单标签内。只要它在表单内,就会被提交。浏览器不关心表单的生成位置:服务器端还是客户端 - 两者都有效,甚至同时两者都有效。
  • 它们被插入到表单中。我现在在看萤火虫,看到标签没有关闭,尽管我在 javascript 中关闭了它们。也许这就是问题所在?
  • 是的,这可能会导致此类问题。注意创建有效的 HTML。验证页面并使用 javascript 操作 DOM,这比插入 HTML 字符串更节省。
  • 最后这不是问题:)。看起来你不能输入 type='image' 的输入,它们不会被发送。我尝试将其更改为 type='text' 并发送。现在唯一的想法是我以普通图像的形式设置并有一个隐藏的输入,我将在其中放置我需要的值。也许您知道为什么没有发送输入类型的图像?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-04
  • 2011-05-16
  • 1970-01-01
  • 2012-09-03
  • 1970-01-01
相关资源
最近更新 更多