首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Web :动态Web表单

Web :动态Web表单
EN

Stack Overflow用户
提问于 2010-02-19 01:28:22
回答 2查看 815关注 0票数 5

考虑以下数据结构:

代码语言:javascript
运行
复制
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表单,我遇到了一个问题。我不确定我将使用哪种类型的实现来使最终用户更容易地进行填充。同时保持数据的完整性。

设想情况:

  • 用户应该能够提供以一种形式填充"subject“对象所需的数据。这意味着他不会被重定向到其他页面(就像向导),每个学生的子表单都是生成javascript的。
  • a用户应该能够根据需要修改"subject“对象中的数据。
  • 可以有很多学生或者每个子对象都需要

那么,我应该如何使用web表单来展示这些呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-19 23:06:10

我的一个项目也面临着类似的问题,如何以一种非突兀的方式填充大量信息,在编辑中保留状态。

已经有一些技术可以很好地做到这一点,即ajax和json。我的项目是用PHP构建的,所以我的想法是创建一个视图,它显示所有的数据输入表单,但是它通过将已完成的字段发送到带有ajax的PHP脚本中来增量地保存数据,然后ajax脚本保存/更新对象。

从理论上讲,有了一些javascript友好的代码,应该可以制作一个非常高效的界面(认为已经完成的部分有一个保存按钮,并关闭了幻灯片,然后可以打开以供进一步编辑)。

它可以使这是一个非常模块化的设计,例如实现写一次字段,一旦保存不能编辑。

这确实是一个非常有趣的话题,许多网站似乎都在苦苦挣扎。请告诉我,我是不是抓错了棍子,贴出了一个不相关的答案。

为了减少重复的代码,并真正地使这个流畅和可管理,我将用MVC设计模式来实现它。让您的视图在用户停止输入字段时发送数据,而字段不为空。然后让控制器检查字段是否需要更新,并将正确的确认发送回视图。模型也将发挥其作用,因为您无疑会将数据保存到数据库中。

View本质上将是一个模块化ajax脚本,它有输入并监视它们的更改,只要进行了足够的更改(为了保证部分保存),ajax就会将数据发送到控制器并折叠相关部分,以显示它已经完成。同样,如果您重新访问页面,并且控制器看到模型中有一些数据用于这些字段,它会将其发送到ajax视图,然后ajax视图填充并折叠预填充的部分=),我认为非常整洁。

编辑:修复排版,增加MVC注释

票数 2
EN

Stack Overflow用户

发布于 2010-02-19 23:42:28

根据可用性准则,字段应根据其主题(例如,名称/姓氏等)分组为fieldset元素。

由于数据量很大,应该使用Javascript接口分步骤显示页面(表单可以在一个页面加载,但JS将用于显示和隐藏相应的节/字段集)。然后提交将立即发送所有数据,或者AJAX可以在每个部分更新后被起诉.

关于字段集的最佳之处在于,它们也可以分组,并相互包含在一起。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2293512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档