考虑以下数据结构:
subject (stdClass)
topic (stdClass)
units (int)
title (varchar 50)
description (varchar 255)
start_time (time)
end_time (time)
teacher (stdClass)
first_name (varchar 50)
last_name (varchar 50)
students (stdClass[])
1 (stdClass)
first_name (varchar 50)
last_name (varchar 50)
2 (stdClass)
first_name (varchar 50)
last_name (varchar 50)
3 (stdClass)
first_name (varchar 50)
last_name (varchar 50)
proctor (stdClass)
first_name (varchar 50)
last_name (varchar 50)
关于如何将上述数据结构实现为动态web表单,我遇到了一个问题。我不确定我将使用哪种类型的实现来使最终用户更容易地进行填充。同时保持数据的完整性。
设想情况:
。
那么,我应该如何使用web表单来展示这些呢?
发布于 2010-02-19 23:06:10
我的一个项目也面临着类似的问题,如何以一种非突兀的方式填充大量信息,在编辑中保留状态。
已经有一些技术可以很好地做到这一点,即ajax和json。我的项目是用PHP构建的,所以我的想法是创建一个视图,它显示所有的数据输入表单,但是它通过将已完成的字段发送到带有ajax的PHP脚本中来增量地保存数据,然后ajax脚本保存/更新对象。
从理论上讲,有了一些javascript友好的代码,应该可以制作一个非常高效的界面(认为已经完成的部分有一个保存按钮,并关闭了幻灯片,然后可以打开以供进一步编辑)。
它可以使这是一个非常模块化的设计,例如实现写一次字段,一旦保存不能编辑。
这确实是一个非常有趣的话题,许多网站似乎都在苦苦挣扎。请告诉我,我是不是抓错了棍子,贴出了一个不相关的答案。
为了减少重复的代码,并真正地使这个流畅和可管理,我将用MVC设计模式来实现它。让您的视图在用户停止输入字段时发送数据,而字段不为空。然后让控制器检查字段是否需要更新,并将正确的确认发送回视图。模型也将发挥其作用,因为您无疑会将数据保存到数据库中。
View本质上将是一个模块化ajax脚本,它有输入并监视它们的更改,只要进行了足够的更改(为了保证部分保存),ajax就会将数据发送到控制器并折叠相关部分,以显示它已经完成。同样,如果您重新访问页面,并且控制器看到模型中有一些数据用于这些字段,它会将其发送到ajax视图,然后ajax视图填充并折叠预填充的部分=),我认为非常整洁。
编辑:修复排版,增加MVC注释
发布于 2010-02-19 23:42:28
根据可用性准则,字段应根据其主题(例如,名称/姓氏等)分组为fieldset
元素。
由于数据量很大,应该使用Javascript接口分步骤显示页面(表单可以在一个页面加载,但JS将用于显示和隐藏相应的节/字段集)。然后提交将立即发送所有数据,或者AJAX可以在每个部分更新后被起诉.
关于字段集的最佳之处在于,它们也可以分组,并相互包含在一起。
https://stackoverflow.com/questions/2293512
复制相似问题