【问题标题】:How to approach this, morphing HTML form如何解决这个问题,变形 HTML 表单
【发布时间】:2011-01-04 01:11:35
【问题描述】:

您好,我不确定如何处理有关表单的此逻辑。所以,表格很大,我知道有 20 多个字段被认为是“不好的做法”,表格应该是最少的,但这就是客户想要的,所以不要争论,无论如何表格会接受订单,但有不同的顺序类型(更具体地说是 5)“普通类型”具有所有字段,而其他类型具有一些字段而有些没有,目前订单类型是从 get 参数中提取的,并根据其值显示一些字段和其他不是,问题是当订单类型包含的字段少于“正常”类型时,如果有人切掉了一些部分而不是自然地拟合,那么表单看起来很丑,所以这是我的想法的一小部分(我' m 顺便使用JSP):

  • 为每种订单类型定义单独的样式,这意味着使用 JSTL 在标题中加载不同的 CSS 样式表。
  • 另一种方法是为每种类型的订单制作一个单独的 HTML 页面,每个页面将包含订单类型所需的字段,并拥有自己的 CSS 文件。
  • 对每个订单类型使用 `c:choose` 并在每个 `c:when` 块中包含字段。我不太喜欢这样,因为这意味着在每个块中重复一些字段。

还有其他建议吗?

【问题讨论】:

    标签: java html css forms business-logic


    【解决方案1】:

    您是否考虑过根据订单类型禁用/启用字段? 使用多页表单怎么样?

    当你说 CSS 搞砸了,到底发生了什么?

    如果我正确阅读了您的问题,则问题纯粹是 CSS 问题 - 所以我将标签添加到问题中。你可以发布你的CSS吗?具体来说,您的每个表单字段当前是如何显示/隐藏的。

    您可能还想让您的客户知道(除非使用 ajax)如果用户错误地离开如此大的表单,他们可能(并且将会)丢失数据。

    【讨论】:

    • 启用/禁用字段的问题是可以通过谷歌浏览器的检查元素功能重新启用。我选错了词,当我说“混乱的 CSS”时,我的意思是它看起来不对,我不喜欢它。警告用户的好建议。
    • 就像所有优秀的软件一样,您还需要在服务器端执行验证。你永远不能完全相信浏览器提供的任何东西,因为它们可能有一些工具,比如 Chromes Inspect Element
    • 是的,我知道我确实执行了服务器端验证,但我认为如果不需要这些字段,为什么要显示它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-07
    • 1970-01-01
    • 2019-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多