【问题标题】:about html <button> tag关于 html <button> 标签
【发布时间】:2011-11-03 01:33:08
【问题描述】:

我正在尝试使用 HTML 按钮标签。但我有一个疑问:

按钮不应该总是出现,而是只有在满足某些条件时才会出现。我该如何实现呢?

具体来说:

用户搜索我的数据库。结果中的记录显示为表格。这些记录是事件列表,用户可以根据某些条件仅注册某些事件。 通过单击“注册”按钮可以注册任何事件。如何使按钮仅显示在该用户有资格注册的记录旁边?

【问题讨论】:

  • 只在服务器端视图技术中使用if 块?
  • 使用服务器端脚本。 PHP、JSP、ASP,随你所想。然后,您可以决定是添加启用还是禁用按钮。

标签: html button web


【解决方案1】:

在生成 html 页面时,即 在服务器端,您应该显示或不显示按钮。 在进行实际注册之前,不要忘记稍后在服务器端检查用户是否被授权注册。

【讨论】:

    【解决方案2】:

    如果要用于提交表单,我会使用输入标签。您可以选择根据您使用的语言在服务器端有条件地隐藏它,或者在浏览器端通过 JavaScript 隐藏它。

    服务器端更可取,因为条件是在该端生成的。它还可以防止用户篡改浏览器端的东西。我还要确保后续阶段验证资格,而不仅仅依赖于按钮的存在。

    【讨论】:

    • "它还可以防止用户篡改浏览器端的东西。"什么?!?
    • 如果你用 JavaScript 或 CSS 禁用某些东西,有人总是可以检查 DOM 并再次显示它或重新插入元素。此外,如果 JavaScript 出现问题,那么会突然暴露出一堆隐藏的元素。简而言之,如果您不希望有人触摸按钮,甚至不要在页面上显示它。
    【解决方案3】:

    如果您可以确定用户是否可以在服务器上注册事件,则在这种情况下只发出&lt;button&gt;

    如果您出于某种原因只能在客户端确定这一点(例如:他们的资格是基于他们输入的其他一些信息),那么您可以通过编程将 CSS display 属性设置为 none 以使按钮消失,尽管在这种情况下简单地禁用按钮可能更有意义。

    【讨论】:

    • 你的意思是按钮标签中的“禁用”属性吗?
    • @Nihit 是的。行为有所不同:禁用的按钮通常是可见的(除非您在样式表中做了一些有趣的事情),但对于用户可以在表单中输入内容以获得注册资格的情况可能更有意义。
    猜你喜欢
    • 2013-10-12
    • 1970-01-01
    • 2011-12-03
    • 2015-02-18
    • 2016-07-15
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多