javascript - 如果未提交任何内容,则清除文本字段

标签 javascript ruby-on-rails textfield

我不知道这是否可能,但在我的 Rails 应用程序中,我目前可以将文本放入 text_field 中作为描述,而不是使用外部标签:

      <% inside = "Search for Customers" %>
      <%= text_field_tag :search, params[:search],
                         :style => "color:#aaa;",
                         :value => inside, #defined above
                         :onfocus => "if(this.getValue()=='#{inside}'){this.clear();this.style.color = '#000';}",
                         :onblur => "if(this.getValue()==''){this.setValue('#{inside}');this.style.color = '#aaa';}" %>
        <%= submit_tag "Search", :name => nil %>

这很好用,但如果我不输入任何内容,它就会搜索“搜索客户”,这不是我想要的。有办法解决这个问题吗?

谢谢

编辑:

我已将 :onSubmit => "if(this.getValue()=='#{inside}'){this.clear();}" 添加到 text_field_tag,但是它仍然没有做任何事情。我还尝试过 :onbeforesubmit 甚至一个简单的 alert('test') 但由于某种原因它不起作用。

最佳答案

HTML5 中的输入有一个新的占位符属性,它完全符合您的要求,但还不适用于所有人。

http://diveintohtml5.ep.io/detect.html#input-placeholder

您可以使用它,并为使用旧版浏览器的用户使用 onsubmit 事件来填充和清除字段。

关于javascript - 如果未提交任何内容,则清除文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3699178/

相关文章:

javascript - 二维数组中的 "cannot read property 0 of undefined"

ruby-on-rails - rails : two models for one table

swift - TextField 置于多行时无法关闭键盘

javascript - 水平幻灯片横幅设计和功能

javascript - 将 Javascript 代码放入字符串中?

javascript - Chrome DevTools 在大数据 uri 上卡住

mysql - Rails Rake MySql 自动递增问题与 db :fixtures:load

ruby-on-rails - 命令 '/bin/sh -c bundle install' 返回非零代码 : 10

javascript - 如何使用 javascript 将 GET 参数中的加号 (+) 替换为空格 ( )

Java - 从另一个 JDialog 获取 var 信息