【问题标题】:What is the best way to have user enter their Age in a form?让用户在表单中输入年龄的最佳方式是什么?
【发布时间】:2010-11-14 02:42:18
【问题描述】:

除了让用户在文本框中输入他们的年龄(例如“27”)或使用下拉列表选择 15 到 99 之间的数字之外,有没有更快的方法让用户选择他们的年龄?

前几天我遇到了一个示例代码,它有一个向上/向下箭头,可以让用户将数字向上/向下移动到正确的年龄。我现在似乎找不到该页面。

这是最好的方法吗?如果是这样,如果您知道示例代码在哪里会很有帮助!

谢谢。

【问题讨论】:

  • 只是一个旁注:让用户插入出生日期而不是简单的年龄不是更好吗?
  • 正如杰克所说,我认为获取年龄的最佳方法是根本不获取它,而是从出生日期推导出来,如果用户愿意分享的话。否则,“年龄”必须每年手动更新(因此,永远不能被认为是准确的)
  • 也作为旁注;只有我发现输入年龄的最简单方法是输入年龄吗?击中两位数字比滚动/单击/向上/向下任何超过 两位 位数字更容易。
  • 关于获得 DOB 而不是 SOB Age 字段的好处。将四处寻找收集 DOB 的好方法。

标签: javascript forms webforms


【解决方案1】:

这听起来完全是经过深思熟虑的,而且可能是过度设计的。

<input type="text" name="age" maxlength="3">

应该够了。

如果您需要其他任何东西,确保提供的值是正的非零整数的关键侦听器应该是您的 UI 增强的范围。

编辑:为了解决 cmets,当然总是需要服务器端验证,无论客户端限制和验证如何。我将它们排除在外,因为它在 OP 范围内不是必需的。

【讨论】:

  • 是的,我确实想跳出框框思考很多。必须.. 得到.. DOB 现在。
  • 最后我决定只获取年龄.. 然后立即将数据存储为 BirthYear。我认为这是最好的方式,这样人们就不会因为进入他们的出生日期而烦恼。
【解决方案2】:

与允许原始文本输入数据相比,Spinner 组件非常慢。当网站让我通过下拉菜单选择我的年龄时,我个人无法忍受。更糟糕的是,当他们将其划分为月/日/年时。

【讨论】:

    【解决方案3】:

    其他选择可能是询问出生日期,然后计算年龄。你有很多 javascript 示例here

    在其他情况下,最好的选择是第二个,可能是用户 spinner jQuery 控件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-27
      • 2011-12-14
      • 1970-01-01
      • 1970-01-01
      • 2010-09-07
      • 1970-01-01
      • 2011-04-16
      • 2013-02-03
      相关资源
      最近更新 更多