Невозможно правильно проверить в jquery

javascript jquery

76 просмотра

2 ответа

39 Репутация автора

Я проверяю ввод от пользователя в jquery. Если ввод пуст, возвращается false, и jqueryкод не выполняется, и если он содержит некоторый текст, выполняется jqueryкод. Вот пример

function sendm() {
    var valid;
    valid = sendmval();
    if (valid) {
        //jquery code
    }
}

function sendmval() {
    var valid = true;
    if (!$('#message').val()) {
        valid = false;
    } else {}
    return valid;
}

Это отлично работает. Однако проблема возникает, когда пользователь вводит blank spacesтолько и, следовательно, приводит к выполнению jqueryкода даже при пустом вводе. Как я могу предотвратить это?

Автор: Tom Cruise Источник Размещён: 18.07.2016 08:07

Ответы (2)


4 плюса

60770 Репутация автора

Решение

Так spacesкак считать как символ, поэтому вы должны использовать $.trim()Jquery, как показано ниже: -

if (!$.trim($('#message').val())) {
        valid = false;
}

Для получения дополнительной информации: -

https://api.jquery.com/jQuery.trim/

Автор: Anant Singh---Alive to Die Размещён: 18.07.2016 08:12

3 плюса

4675 Репутация автора

Поскольку пробел также является символом, просто используйте .trim()функцию строк Javascript для удаления пробелов в начале и конце. Затем продолжите проверку как обычно.

Примечание: я изменил:

if (!$('#message').val())

в

if (!$('#message').val().trim())

Смотрите полный тест рабочего кода:

function sendm() {
  var valid;
  valid = sendmval();
  if (valid) {
    alert("valid & sendm");
  }
}

function sendmval() {
  var valid = true;
  if (!$('#message').val().trim()) {
    valid = false;
  } else {}
  return valid;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="message">
<button onclick="sendm()">CHECK</button>

Автор: Iceman Размещён: 18.07.2016 08:14
Вопросы из категории :
32x32