2010-11-11 4 views
0

У меня есть поле формы, и я должен видеть, что кнопка поиска нажата только тогда, когда в поле формы есть данные . Ниже приведен код. disallow Поиск в Пустое поле формы

<script type="text/javascript"> 
     function IsEmptySearch(TxtField){ 
     var re = /\s/g; //any white space 
     var str = TxtField.replace(re, ""); 
     if (str.length == 0) { 
     return true; 
     } else {return false;} 
     } 
    </script> 

<div> 
<form id="formsearch" name="formsearch" /> 
<input type="text" name="TxtField" maxlength="255" class="findSearch" value="Enter Search..." 
    onfocus="if (this.className=='findSearch') { this.className = ''; this.value = ''; }" 
    onblur="if (this.value == '') { this.className = 'findSearch'; this.value = 'Enter Search...'; }"/> 
<input type="button" value="Search" onclick="return IsEmptySearch()" > 
</form> 
</div> 

выше не работает, так как форма получает представлены, даже если поле поиска пуст.

В случае отладки ошибка отображается при возврате "onclick =" IsEmptySearch() "" любезная помощь.

+1

_What_ не работает? Что случилось, если нет? – Oded

ответ

1

Попробуйте

onclick="return !IsEmptySearch()" 

Ваша функция возвращает true, если поиск пуст, но остановить свою форму от их представления, вы должны вернуть false. Вы также можете переписать и переименовать свою функцию. Попробуйте это, введите что-то в поле поиска и посмотрите, можете ли вы отправить.

1

Изменение функции к следующему:

<script type="text/javascript"> 
function IsEmptySearch(txtField, defaultText){ 
    var re = /\s/g; //any white space 
    defaultText = defaultText || ""; 
    var txt = txtField.value.replace(re,""); 
    var ret = txt != "" && txt != defaultText.replace(re,""); 
    return ret; 
} 
</script> 

кнопка изменения в следующем:

<input type="submit" value="Search" 
        onclick="return IsEmptySearch(aTextField,'Enter Search...')" > 

это также не сработает, если текстовое поле имеет по умолчанию текст запроса.

+0

спасибо за ответ. Но когда я включаю выше, кнопка «Отправить» полностью остается нажатой. Также defaultText не отображается в поле поиска – Fransis

+1

Этот код не имеет ничего общего со значением по умолчанию. Какой браузер вы используете? – TheVillageIdiot

+0

Я использую IE 5.5 – Fransis

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