jquery подтвердить проверку пароля

Я использую jquery для проверки формы. Остальное хорошо, кроме поля подтверждения пароля. Даже при вводе одного и того же пароля сообщение Введите тот же пароль не удаляется.

Мой сценарий:

  <script type="text/javascript">
    $(document).ready(function() {
      $("#form1").validate({
        rules: {
          password: { 
                required: true, minlength: 5
          }, 
          c_password: { 
                required: true, equalTo: "#password", minlength: 5
          }, 
        email: {
          required: true, email: true
          },
        phone: {
          required: true, number: true, minlength: 7
          },
        url: {
          url: true
        },
        description: {
          required: true
        },
        gender: {
             required: true
          }
        },
        messages: {
         description: "Please enter a short description.",
         gender: "Please select your gender."

        }
      });
    });
     -->
  </script>

И внутри тега формы:

<div class="form-row"><span class="label">Password</span><input type="password" name="password" class="required" id="password" /></div>

<div class="form-row"><span class="label">Confirm Password</span><input type="password" name="c_password" id="c_password" /></div>

Любое предложение? Был бы очень признателен за помощь.


person Aryan G    schedule 03.11.2010    source источник


Ответы (6)


В ваших полях нет свойства ID. В jQuery селектор «#password» означает «объект, который имеет свойство id со значением 'password'».

Ваш код должен выглядеть так:

<input type="password" name="password" id="password" class="required"/>
person MatuDuke    schedule 03.11.2010

Убедитесь, что текст ввода вашего пароля имеет идентификатор «пароль»

person Dalen    schedule 03.11.2010

rules: {

не закрыт. Поставьте еще один } после:

messages: {
   description: "Please enter a short description.",
   gender: "Please select yor gender."
}

Это так же, как и ответ об идентификаторах элементов.

person Craig    schedule 15.08.2012

Убедитесь, что на той же странице нет другого ввода с тегом id='password'.

person Pat    schedule 20.06.2012

Я столкнулся с некоторыми проблемами при использовании идентификатора camelCase для ввода пароля. Наконец-то я заработал с другим «именем» и «идентификатором».

<input type="password" id="pass" placeholder="New password" name="newPassword">
<input type="password" id="pass2" placeholder="New password" name="repeatNewPassword">
<input type="email" id="inputNewEmail" name="newEmail" placeholder="New email">
<input type="email" id="repeatNewEmail" name="repeatNewEmail" placeholder="New email>

Затем в JS:

rules: {
            newPassword: {
                minlength: 6
            },
            repeatNewPassword: {
                minlength: 6,
                equalTo: "#pass"
            },
            newEmail: { email: true},
            repeatNewEmail: {email: true, equalTo: '#inputNewEmail'},
}

Поэтому обращайтесь к полю ввода по его «имени», но определяйте зависимость equalTo с помощью «id». Я не уверен в проблеме с camelCase, для ввода электронной почты это сработало, но точно такая же номенклатура с вводом пароля не работала, согласно моему опыту.

person sgimeno    schedule 25.10.2012

person    schedule
comment
Где вы взяли эти идентификаторы? Они не совпадают с теми, что указаны в вопросе. Простое копирование части вашего проекта вряд ли кому-то поможет. Также обратите внимание, что вопрос двухлетней давности. - person John Dvorak; 14.03.2013