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

フィールドをパラメータとして渡すのではなく、クラスごとにフィールドを取得してみませんか? したがって、jqueryを使用して:

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

何らかの理由で jQuery を使用できない場合は、フォーム フィールドに ID を割り当てて、代わりに document.getElementById() を使用できますか?

于 2013-02-20T10:57:16.140 に答える
0

これonsubmitはテキスト フィールドのイベントではなく、それが属するフォームのイベントです。onsubmit属性をフォームに移動すると、属性がクリアされます。

于 2013-02-19T21:41:37.557 に答える