Проверка в JavaScript: пустое текстовое поле при нажатии кнопки - PullRequest
0 голосов
/ 25 марта 2012

Мне нужно проверить текстовое поле с помощью JavaScript, пока я сделал это:

$(document).ready(function(){
$('#search_form').validate({
rules: {
 searchText:{
     required: true,    
     number: true
            },
  },
 messages: {

     searchText: {
      required: "required",
      number: "must be a number"
     }}
      })}
    );

это работает нормально, но мне также нужно показать сообщение, если пользователь нажимает кнопку поиска без ввода какого-либо значения, и, конечно же, текстовое поле содержит сообщение «пожалуйста, введите свой номер» (используя заполнитель).

Форма поиска:

<form method="get" id="search_form">
<input type="button" value="search" id="search" />
<input type="text"  name="searchText" id="searchText" placeholder="please enter your number"    />
</form> 

текущий код ничего не показывает , если пользователь нажимает кнопку поиска без ввода цифры, но если он, например, вставляет буквы, он получит сообщение «должно быть число», и если он удалит любое значение был там в текстовом поле, он получит сообщение «требуется».

я пытался:

searchText:{
     required: {  depends: function()
        { return $( "#searchText" ).val() == 'please enter your number '} },    
     number: true
        },

но ничего не меняется.

Надеюсь, я смогу объяснить свой вопрос хорошо.


Спасибо!

вы правы, все работает нормально, если я удаляю любое значение в текстовом поле, я получаю требуемое сообщение. но так как я сделал проверку в форме, он не ответил на синхронизацию кнопки. как я могу добавить проверку на кнопку тоже?

1 Ответ

0 голосов
/ 25 марта 2012

Помните, что ваше сравнение строк является точным поиском.Похоже, у вас есть лишний пробел в коде, который вы пробовали, после слова «число».Попробуйте удалить это место и протестировать снова.Если значение текстового поля точно совпадает со значением заполнителя, ваш метод depends должен вернуть значение true.В качестве альтернативы, вы можете попробовать $.trim(), чтобы убедиться, что пропущены пробелы в начале и конце строки.

Другой подход, который вы могли бы рассмотреть, - создать свойство "оригинальное значение" (используя jQuery data).методы), чтобы при изменении значения заполнителя вам не нужно было обновлять код проверки JavaScript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...