【问题标题】:html input field optionshtml输入字段选项
【发布时间】:2010-06-30 02:04:36
【问题描述】:

我有一个输入字段,点击它我会显示一个日期选择器来选择日期。我希望始终使用从该选择器中选择此字段,而不是通过键入来选择。原因是,我只是在修改这个字段,不想触及整个代码来验证这个字段。我已经为用户提供了足够的下拉选项以从下拉列表中进行选择,因此我更喜欢使用此选择而不是通过键入来接受输入。如果我允许输入,则用户有可能将年份更改为过去的一年,这会覆盖所有内容。

问候

【问题讨论】:

  • 我希望您没有使用 JS 进行所有验证,因为它很容易被禁用,然后用户可以做/发送他们想要的任何东西。
  • 即使启用了 JS,修改 HTML 表单也很简单(例如:因此用户可以为“2005”添加新选项)。验证总是需要在服务器端完成。

标签: jquery html input field


【解决方案1】:

强制用户使用日期选择器的问题在于,如果没有使用 HTML5 表单输入,您就不得不使用 JavaScript 来使选择器工作。如果 JavaScript 被禁用,那么您的用户将不得不手动输入值,从而首先破坏您在该字段上设置的任何编辑保护。无论如何,该输入都必须经过验证。

此外,未经验证的输入可能会使您容易受到 SQL 注入攻击,在这种攻击中,访问者使用其他工具(例如 Firebug)通过该输入手动发布未经过滤的数据,并可能将其发布到您的数据库中。

看,我知道表单验证很痛苦,但是因为不想过滤而试图锁定输入会带来麻烦。

【讨论】:

  • 我同意你的观点。我的方法会导致一些注射。我错过了萤火虫选项和类似的东西。我将进行验证。它有点乱,因为代码的其他部分已经存在,我最终会修改所有。
【解决方案2】:

您可以尝试使用日期选择器按钮并在选择日期时设置隐藏字段和可见标签。

看看这里面和周围的一些例子:

http://jqueryui.com/demos/datepicker/#icon-trigger

【讨论】:

  • 这是我用于日期选择器的相同链接,但感谢您指出图标触发选项。出于某种原因,该字段仍然可以通过键入来编辑。在某些站点中,它们具有该字段和图标,该值仅通过选择图标来更改。我无法得到你的标签想法。这就是我所拥有的 .i 将 i/p 存储到 db
猜你喜欢
  • 2012-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-25
  • 1970-01-01
  • 2018-12-01
  • 2012-10-22
  • 1970-01-01
相关资源
最近更新 更多