1

我计划建立一个数据库表来存储表单的 css 值。形式是动态的,这意味着人们无法说出它在构成中包含什么样的元素。

例如,表单可能包含文本输入框、单选按钮、下拉框的组合。这是我的问题:如果我需要为这种表单存储 css 值,我该如何构建我的表。(css 属性及其值也将在表单生成本身上分配)

据我计划,表格可能是这样的:

考虑两个表:classes, Styles

类表具有如下列:id, class_name

样式表具有如下列:id, class_id(foreign key), css_property, css_values

如果我为每个表单元素分配类,那么我可以使用上面的表格来存储 css 值。但这是解决此类问题的直接方法吗?如果没有,还有比这更好的解决方案吗?

4

4 回答 4

3

您不应该将 CSS 值存储在数据库中。你只是在为自己创造更多的工作并减慢这个过程。相反,您应该做的是向表单字段添加类,并在与每个类对应的外部样式表中编写样式。

于 2013-08-13T05:31:25.583 回答
1

听起来您正在构建一个允许用户为表单元素分配样式的表单编辑器,并且您希望能够将这些更改保存在数据库中。如果是这种情况,您可能已经有一个类似form_elements的表格和类似的表格forms——我只需添加两个文本列:form_elements.extra_html_attrsforms.extra_html. 这将允许您将任意属性附加到每个元素(例如 extra_html_attrs= class="fancy-element" style="width:100px")并在表单中包含任意 html(例如 extra_html= <style>.fancy-element{border:blue}</style>)。在单独的数据库表中建模与 CSS 相关的属性会增加复杂性,并且在这种情况下不会给您带来任何好处。

于 2013-08-13T06:04:46.160 回答
0

我会创建一个 javascript 类并使用 JQuery。每个查询都将使用 addClass 设置正确的类。您要添加的类将在 javascript-class 中动态创建。

于 2014-07-08T07:03:16.117 回答
0

我认为您可以动态生成表单字段并分配字段 ID 和唯一的表单 ID,如果您想分配位置、颜色、大小等 css 样式,您可以将所有这些属性和值分配给每个字段,例如 #FormId #FieldID {properties:values;} 并存储在数据库中的唯一文本字段中。

表格

FormId  | Html | Styles | "the rest of the interested form properties"

:)

于 2013-08-13T05:46:04.850 回答