Механизм проверки формы jQuery не работает должным образом на равных

Я только что загрузил механизм проверки формы плагина jQuery. До сих пор все работало хорошо, пока я не проверил, совпадают ли пароли. Если и поле пароля, и поле подтверждения пароля остаются пустыми, сообщение об ошибке «Поля не совпадают» не появляется, что нормально, поскольку они совпадают. Но когда я ввожу что-то в текстовое поле пароля и ввожу тот же пароль в текстовое поле подтверждения, сообщение об ошибке остается «Поля не совпадают», хотя явно они совпадают.

HTML:

<form id = "signup">
  <label>Password:</label>
  <input type = "password" name = "txtPassword" id = "txtPassword" class = "validate[required,minSize[6],maxSize[50]]"/>
  <label>Confirm Password:</label>
  <input type = "password" name = "txtCPassword" id = "txtCPassword" class = "validate[required,equals[txtPassword]]"/>
</form>

Мой JS-файл:

$(document).ready(function(){
    $("#signup").validateEngine();
});

В моем файле HTML у меня есть ссылки на стили проверки css, а также механизм проверки и язык en.


person Vince    schedule 15.04.2013    source источник
comment
У меня работает: jsfiddle.net/bWnjc/1, если вы говорите о github.com/posabsolute/jQuery-Validation-Engine (похоже)   -  person Shikiryu    schedule 16.04.2013
comment
@Shikiryu Это странно. ›.› Он не работает на моем локальном сервере. Поэтому я загрузил его на тестовый сервер, и он делает то же самое. Я даже изменил поля пароля на текстовые поля, чтобы убедиться, что они одинаковы. www.vrbj.webs.com/scrapbook   -  person Vince    schedule 16.04.2013
comment
Поэтому я попробовал равные по электронной почте/подтвердить электронную почту, и это работает как шарм. Но я снова и снова перечитывал свой код и не могу решить проблему с паролями. Это очень расстраивает.   -  person Vince    schedule 16.04.2013
comment
Я выяснил одну странную вещь, которая работает. Вместо первого поля пароля txtPassword я изменил его на txtpassword (все в нижнем регистре). Почему-то это работает. Если кто-нибудь знает, почему это произошло? Я хотел бы знать, спасибо!   -  person Vince    schedule 16.04.2013
comment
Извините, что трачу время всех: P Я обнаружил, что у меня есть два элемента ввода с одним и тем же идентификатором. Один в форме входа и один в форме регистрации. Это мой первый сайт, над которым я работаю, где вход и регистрация были на одной странице.   -  person Vince    schedule 16.04.2013
comment
Поместите это как ответ и примите его. Это не должно оставаться без ответа.   -  person Shikiryu    schedule 16.04.2013
comment
я просто включаю файл jquery-1.7.2.min.js и отлично работает для меня   -  person Hemi    schedule 14.06.2013
comment
Это не дает ответа на вопрос. Чтобы подвергнуть критике или запросить разъяснения у автора, оставьте комментарий под его публикацией.   -  person pb2q    schedule 14.06.2013


Ответы (3)


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

person Vince    schedule 24.04.2013
comment
Спасибо, я рад, что нашел этот пост - избавил меня от многих головных уборов! - person user579984; 04.05.2013
comment
Я только что решил свою, у меня было несколько полей ввода пароля - одно для входа в систему, а другое для регистрации. Это опасная ситуация, и вы не найдете никакой ошибки, которая могла бы вызвать эту проблему. Просто быстрый поиск идентификатора неисправного поля будет удачей ;) - person maksbd19; 27.02.2014

Вы можете попробовать это:

<form id = "signup">
  <label>Password:</label>
  <input type = "password" name = "txtPassword" id = "txtPassword" class = "validate[required,minSize[6],maxSize[50]]"/>
  <label>Confirm Password:</label>
  <input type = "password" name = "txtCPassword" id = "txtCPassword" class = "validate[required,equals[txtPassword]]"/>
</form>

$("#signup").validationEngine();

.. убедитесь, что ваш jQuery validation не validate

person githaiga geoffrey    schedule 21.11.2014

если вы хотите проверить подтвердить проверку пароля, вы можете использовать

<label>Password:</label>
<input type="password" id="password" name="password"  class="validate[required]"/>

<label>Confirm Password:</label>   
<input type="password" id="confirm_password" name="confirm_password"  class="validate[required,equals[password]]"/>
person Sandeep Sherpur    schedule 18.08.2016