Javascript 搜索后清除输入

Javascript 搜索后清除输入,javascript,ruby-on-rails-3,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.defaultV

我的网站上有一个搜索框。搜索效果很好。我希望在您提交搜索后清除搜索字段。我可以清除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>

函数clearDefault(el){
如果(el.defaultValue==el.value)el.value=“”
}
函数明文(字段外){
if(thefield.defaultValue==thefield.value)
thefield.value=“”
}
查看

<%= 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 %
'navbar search pull right',:onSubmit=>“明文(this)”,:method=>:get do%>

“搜索查询”、:占位符=>“搜索”、:ONFOCUS=>“clearDefault(this)”%%>Th
onsubmit
不是文本字段的事件,而是它所属的表单。如果将
onsubmit
属性移动到表单,它应该将其清除。

与其将字段作为参数传递,为什么不直接按字段的类获取字段呢?因此,使用jquery:

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

如果出于某种原因无法使用jQuery,您可以尝试为表单字段分配一个ID,然后改用document.getElementById()。

您一定是对的,但它仍然不起作用-已对上面的内容进行了编辑以反映更改抱歉,我不知道您想发布的内容是什么?两件事:1。当您从
onsubmit
和2调用
clearText
函数时,没有将任何内容传递给该函数。你把它叫做
cleartext
而不是
cleartext
没关系,你知道你需要做什么来修复它吗?