构建表单的最快方法 - PHP/jQuery/CodeIgniter


Fastest way to build form - PHP/jQuery/CodeIgniter

一般来说,有很多

方法可以处理表单,但我想知道是否有人有一个可靠的解决方案,他们几乎可以用于他们所有的应用程序,有些东西可以快速构建表单并包含所有类型的表单元素。

我目前使用的只是 CI 的内置表单验证,然后构建一个表单,但即使这样,我觉得它花费的时间也太长了......有什么建议吗?

有一个jQuery插件(称为"dform"),它接受JSON输入来动态构建表单。我已经使用它一段时间了。

Please take a look at the following URL:
http://neyeon.com/p/jquery.dform/doc/files2/readme-txt.html

快速使用:

var formdata =
{
"action" : "index.html",
"method" : "get",
"elements" :
[
    {
        "name" : "textfield",
        "label" : "Label for textfield",
        "type" : "text",
        "value" : "Hello world"
    },
    {
        "type" : "submit",
        "value" : "Submit"
    }
]
};
$("#myform").buildForm(formdata);
// Or to load the form definition via AJAX
$("#myform").buildForm("http://example.com/myform.json");

https://github.com/zwacky/codeigniter_form_builder - 是Codeigniter的表单构建器库。 它有一个广泛的如何页面,应该易于使用。

在我看来,这些都不是完全令人满意的解决方案,但它们可能对您有用:

http://formigniter.org/app/(在线生成工具)

http://formtorch.geekhut.org/(在线生成工具,包括javascript)

http://www.frankmichel.com/formgenlib/user_guide/introduction/getting_started.html(孔子学院图书馆)

http://www.getfuelcms.com/user_guide/libraries/form_builder(基于 CI 的燃料 CMS 的一部分)

@dave我已经使用

CI 一段时间了,一般来说,使用其内置的表单支持或自制确实没有什么不同。就我个人而言,在说话方面,我倾向于家庭酿造的手写形式。一起避免CI的形式支持。尽管CI确实提供了"易用性",但可以说是更多的新手用户(以及大师)。我一直感觉和你一样,它有一种限制性的感觉,最重要的是,当你使用那里的系统为 CI 制作表单时,你基本上做与标准 HTML 相同的事情,但也在 CI 的语法中实现,所以它可以更好地处理它。对我来说,我做了很多与 AJAX 相关的事情,所以标准支持对我没有多大帮助,而且通常会妨碍我。我也曾在一些专业级别的团队工作过,这些团队使用 CI 作为后端框架,但也对 CI 的形式支持有同样的厌恶。更多次,然后更少地阻碍了前端和后端的开发,然后它做了任何好事。

更多的时候,我们总是会走标准HTML表单的路线,只是使用标准的PHP方法来获取发布的数据,然后在元素到元素需求上自制我们自己的过滤器,所以我们知道我们正在获得我们想要获得的数据,而不必想出一些方法来绕过任何限制。

因此,您的答案的简短版本只是使用标准的HTML/php表单处理。你会发现更多的支持,如何单独处理你的输入,而不是CI(意见问题)。此外,以这种方式处理您的表单不会破坏您仍然可以在 CI 中与其他库和模组轻松工作的工作

我知道这不是对你问题的直接回答,但我觉得我至少应该把我的2美分放进去。CI是一个很好的框架,但它建立在PHP上,所以如果你可以用PHP做到这一点,你可以在CI中做到这一点,在表单处理的情况下,我会走PHP的路线,而不是使用CI

我使用 CodeIgnitor 但我刚刚创建了自己的验证类 - 通过自己动手,您可以获得更大的灵活性和范围,并节省更多时间......无论如何,这就是我发现的。

我只是缩小了范围,以便一种方法接收输入数组,然后循环检查它们是否不为空并返回缺失的数组,如果字段在缺少的数组中,请突出显示它或做任何设计。简单。

至于codeIgnitor验证,我从来没有觉得我需要使用它。