Проверяйте форму, только если каждый ввод пуст - PullRequest
0 голосов
/ 30 апреля 2018

Ну, вопрос довольно очевиден. Я долго искал и не нашел подходящего способа сделать такую ​​проверку.

Все, что мне нужно сделать, это запустить сообщение об ошибке, если все входные данные пусты. Если один из них заполнен, мне не нужно останавливать отправку формы.

Я думал что-то вроде:

function checkForm() {
    $('input').each(function(){
        if( $(this).val() == "" ){
          return false;
        }
    });
});

Но это остановит мою форму, если будет хотя бы один ввод без данных.

Есть идеи? Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Измените логику, так как вы хотите проверить, не является ли значение непустым для одного поля ввода.

Кроме того, вы, вероятно, хотите вернуться к своей действительной функции, а не к обратному вызову, который не имеет никакого эффекта.

function checkForm() {
    let bool = false;
    $('input').each(function(){
        if( $(this).val() !== '' ){
          bool = true;
        }
    });
    console.log(bool);
    return bool;
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text">
<input type="text">
<input type="text">
<button onclick="checkForm()">check</button>
0 голосов
/ 30 апреля 2018

Переверните свою логику. То есть вернуть true, если какой-либо вход имеет значение, в противном случае вернуть false:

function checkForm() {
    $('input').each(function() {
        if ($(this).val() !== '') {
            return true;
        }
    });

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