2013-02-25 5 views
0

Все, что мне нужно от этой функции, это дать сообщение об ошибке в каждом пустом текстовом поле, но вместо этого оно делает что-то вроде: , если у меня есть два пустых текстовых поля, это дает ошибку во всех текстовых полях x 2? Помоги пожалуйста?JQuery каждый цикл не работает?

+2

'if ('input [type = text]') {' всегда будет true. Что вы намеревались проверить? в настоящее время он просто проверяет, истинна ли строка, но всегда будет истиной, поскольку она не пуста. Вы могли бы просто удалить этот оператор if. –

+1

Вы имели в виду 'if ($ (this) .is (" input [type = text] ")) {'? –

+0

Я хочу проверить, пусто ли текстовые поля? поэтому, если вы видите следующую строку, я проверяю, равна ли ее длине 0, и если она создает команду br и добавляет ошибку. msg – 2013-02-25 20:17:42

ответ

1
  1. Ваша первоначальная проверка if ('input[type=text]'){ на самом деле не имеет смысла.
  2. Линия:

    errorMsg.insertAfter('.requiredField .textbox');

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

    errorMsg.insertAfter(this);

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

+0

В моей форме также есть флажки и переключатели, поэтому я проверяю, является ли тип ввода текстом, а затем проверяет его длину, и если его пустая строка прерывается и добавляет сообщение об ошибке? Если вы понимаете, что я имею в виду? – 2013-02-25 20:26:16

+0

Не имеет смысла, что эта строка кода НЕ делает то, что вы думаете. См. Комментарий на верхнем уровне от Яна Дворжака. –

+0

Я бы показал свою проблему, но это не позволяет мне размещать изображение на данный момент? – 2013-02-25 20:38:50

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