搜索后清除输入

时间:2013-02-19 21:34:16

标签: javascript ruby-on-rails-3

我的网站上有一个搜索框。搜索效果很好。提交搜索后,我希望搜索字段清除。我有工作来清除onclick但是onsubmit不起作用。它肯定会提交搜索,因为我可以看到结果。

JS

<script type="text/javascript">
function clearDefault(el) {
if (el.defaultValue==el.value) el.value = ""
}
function clearText(thefield){
if (thefield.defaultValue==thefield.value)
thefield.value = ""
}
</script>

查看

<%= form_tag guidelines_path, :class => 'navbar-search pull-right', :onSubmit=>"clearText(this)",:method => :get do %>  

<%= text_field_tag :search, params[:search], :class => 'search-query', :placeholder=>"Search", :ONFOCUS=>"clearDefault(this)" %> <% end %

&GT;

2 个答案:

答案 0 :(得分:0)

Th onsubmit不是文本字段的事件,而是它所属的表单。如果您将onsubmit属性移动到表单,则应将其清除。

答案 1 :(得分:0)

不是将字段作为参数传递,为什么不只是通过它的类来获取字段?所以使用jquery:

function clearText(){
    search = $('.search-query');
    if (search.defaultValue==search.value)
    search.value = ""
}

如果由于某种原因你不能使用jQuery,你可以尝试为表单字段分配一个ID并使用document.getElementById()代替吗?