У меня есть поле поиска, и когда он оставлен пустым и нажата кнопка «Поиск», появляется сообщение об ошибке «Пожалуйста, введите поисковый запрос». Это то, что я хочу, но если вы снова нажмете его, сообщение будет добавлено снова и снова. Я хочу, чтобы он просто добавлялся один раз.JQuery append error message once
Это то, что JQuery выглядит следующим образом:
$('#search').find('input[type=submit]').click(function(){
if(! $('input[name=keywords]').val()){
$('#search input[name=keywords]').addClass('error');
$("#search").append("<p class='errorMsg top'>Please enter a search term</p>");
//alert('Please enter a search term');
return false;
} else {
_gaq.push(['_trackEvent', 'onsite_search', $('input[name=keywords]').val()]);
}
});
Я попытался добавить это перед, если заявление:
for i=0; i<1; i++
Это полностью перевернул функциональность прочь. Я также попытался добавить
.one('click', function{
})
Этот вид работал - это позволило вам нажать на строку поиска, пока он пуст, дал сообщение об ошибке, но на второй клик, обработав результаты поиска в виде «».
Любая помощь была бы высоко оценена!
Кроме того, я не думаю, что это действительно имеет значение, но вот HTML:
<fieldset class="fieldset">
<legend>{lang:search_by_keyword}</legend>
<input type="text" class="input" maxlength="100" size="40" name="keywords" style="width:100%;" />
<div class="default">
<select name="search_in">
<option value="titles" selected="selected">{lang:search_in_titles}</option>
<option value="entries">{lang:search_in_entries}</option>
<option value="everywhere" >{lang:search_everywhere}</option>
</select>
</div>
Это один не работает либо:/ – Margaret
@Margaret Что происходит? Можете ли вы предоставить дополнительную информацию? Может быть, скрипка? –
@Margaret Проверьте, разрешает ли мое редактирование проблему. Переменная 'alerted' должна находиться вне события, или она будет всегда ошибочной, когда она будет запущена. –