【问题标题】:Forms not clearing themselves of default value?表单没有清除自己的默认值?
【发布时间】:2012-10-10 10:31:30
【问题描述】:

我注意到这是许多网站上经常出现的问题,甚至是大公司的网站,所以作为一名申请工作的网络开发人员,我认为,我应该知道如何解决这个问题。

基本上,例如,用户名字段会显示“用户名”,直到您单击它输入您的用户名,此时它应该清除文本“用户名”。但在大多数情况下,它不会,并且您最终会在该预先存在的文本中间输入。

我已经查过了,我发现最好的解决方案是一组 30 多行的 Javascript 函数,它完全符合您的期望:设置一个系统,当用户点击字段,并且只要他们没有输入任何内容,当他们点击离开时也会将其放回。

但这并不是我真正想要的,因为我已经知道该怎么做。

我觉得现在有了 HTML5 和所有的,应该有一个更简单的解决方法。而不仅仅是将 JavaScript 简化为更短的 jQuery 脚本。我的意思是更多的嵌入式、固有修复。

有谁知道阻止这种现象发生的任何方法?

【问题讨论】:

  • 您指的是占位符文本吗?请发布一些代码。
  • 使用占位符代替值可能吗?

标签: css forms html default-value


【解决方案1】:

只需使用 HTML5 占位符属性。

<input type="text" placeholder="Username" />

这显然不会完全跨浏览器兼容,因此您仍然需要旧的 Javascript / jQuery 修复。

【讨论】:

    【解决方案2】:

    现代浏览器现在支持表单的占位符属性,它可以让您按照您的要求进行操作

    退房 http://webdesignerwall.com/tutorials/cross-browser-html5-placeholder-text 对于使用 modenizr 实现跨浏览器兼容性的文章

    【讨论】:

      【解决方案3】:

      只需使用 HTML5 placeholder attribute

      <input type="text" placeholder="Whatever" />
      

      Fiddle

      跨浏览器信息: 某些 Firefox 版本会在点击文本框时清除占位符文本,Chrome 会在用户开始输入后将其清除,但更高版本的 Firefox 就像 chrome,它会在用户开始在输入框中输入时清除占位符文本。

      【讨论】:

        【解决方案4】:

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-12-17
          • 2019-10-02
          • 2014-05-26
          • 2018-05-29
          • 1970-01-01
          相关资源
          最近更新 更多