2013-02-19 5 views
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 % 

>

ответ

0

onsubmit Th не является событием текстового поля, а форма принадлежит. Если вы переместите свой атрибут onsubmit в форму, он должен очистить его.

+0

Вы должны быть правы, но он по-прежнему не работает - отредактированы выше, чтобы отразить изменение – tessad

+0

Что такое 'cleartext()'? Можете ли вы опубликовать то, на что это похоже? –

+0

жаль, что я не знаю, что вы хотите опубликовать, на что он похож? – tessad

0

Вместо того чтобы передавать поле в качестве параметра, почему бы просто не получить поле по его классу? Таким образом, используя JQuery:

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

Если вы не можете использовать JQuery по какой-то причине вы могли бы попытаться присвоить поле формы идентификатор и использовать document.getElementById() вместо?

Смежные вопросы