Проверка формы не работает так, как должно быть - PullRequest
0 голосов
/ 16 марта 2012

Я пытаюсь подтвердить свою форму. Ниже приведен jquery. Когда я нажимаю кнопку «Отправить», если форма имеет <span class="error">, она должна предупреждать о сбое, если не сообщать об успешном. Проблема только в том, что «Faild» предупреждает, есть ли <span class="error"> или нет. пожалуйста, посмотрите на jsfiddle

$(".submitBtn").click(function() {
            if($("form").find('.error')) {
                alert('Faild');
            } else {
                alert('Success');
            //return true;    
            }
});
$("form").submit(function(e) {    
        e.preventDefault();
        });

<form id=="subscribeForm" method="post" action="">
                    <input type="text" name="name" class="f-comp t1 name" />
                    <input type="text" name="age" class="f-comp t2 age" />
                    <input type="text" name="email" class="f-comp t3 email" />
                    <textarea name="detail" class="f-comp words"></textarea>
                    <input type="submit" value="Submit" class="submitBtn" />
    <span class="error"></span>
                </form>​

Ответы [ 3 ]

3 голосов
/ 16 марта 2012

Вам необходимо проверить, равна ли длина возвращаемого jQuery нулю или нет.Таким образом, условие всегда будет иметь значение true, даже если не найдено ни одного элемента, поскольку объект jQuery всегда возвращается.в нем

2 голосов
/ 16 марта 2012

Попробуйте это

$(".submitBtn").click(function() {
            if($("form").find('.error').size()) {
                alert('Failed');
            } else {
                alert('Success');
            //return true;    
            }
});

.size() вернет числовое число соответствующих элементов.то есть 0, если нет.

1 голос
/ 16 марта 2012

Вы не выполняете логическую операцию.

Попробуйте это:

if($("form").find('.error').length > 0)

Обратите внимание, что вы проверяете количество элементов, которые соответствуют классу 'error', вместо того, получаете ли вы возврат или нет.

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