Web UI:动态Web表单

Chr*_*oel 5 html javascript php

考虑以下数据结构:

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)
Run Code Online (Sandbox Code Playgroud)

我在如何将上述数据结构实现为动态Web表单方面存在问题.我不确定我将使用哪种类型的实现来使最终用户更容易填满.同时保持数据完整性.

场景:

  • 用户应该能够以一种形式提供填充"主题"对象所需的数据.这意味着他不会被重定向到其他页面(如向导),而是每个学生的子表单都是javascript生成的.
  • 用户应该能够根据需要更改"主题"对象中的数据.
  • 可能有很多学生或没有学生.
  • 每个子对象的验证是必需的.

那么我该如何使用网络表单呈现这一点?

Yar*_*k T 2

我的一个项目也面临着类似的问题,如何以一种不引人注目的方式填充大量信息,并保留编辑状态。

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

理论上,通过一些 javascript 的优点,应该可以创建一个非常高效的界面(认为已完成的部分有一个保存按钮并关闭幻灯片,然后可以将其打开以进行进一步编辑)

可以使其成为一个非常模块化的设计,例如实现一次写入字段,一旦保存就无法编辑。

这确实是一个非常有趣的话题,许多网站似乎都在努力解决这个问题。请告诉我我是否在这里抓住了错误的一端并发布了不相关/有帮助的答案

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

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

编辑:修复拼写错误,添加 MVC 注释