0

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

>

4

2 回答 2

0

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

于 2013-02-19T21:41:37.557 回答
0

与其将字段作为参数传递,不如直接按其类获取字段?所以使用jquery:

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

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

于 2013-02-20T10:57:16.140 回答