jquery.validate равно и простой модальный - PullRequest
1 голос
/ 29 января 2010

Я использую простой модал, чтобы открыть регистрационную форму. Я пытаюсь подтвердить пароль и подтвердить пароль, но поле пароля всегда пусто, любая идея?

<form method="post" action="Player/Register" id="registrationForm">
 <input type="text" id="password" name="password" style="width: 200px" />
 <input type="text" id="password_confirm" name="password_confirm" style="width: 200px" />
<form>

  var validator = $("#registrationForm").validate(
    {
        rules: {
            password: 
            {
              required: true
            },
            password_confirm: {
                equalTo: "#password"
            }
        }
    }
    );

1 Ответ

3 голосов
/ 17 апреля 2010

Если в вашей фактической разметке модал находится внутри формы, возможно, используемая модель перемещает набор элементов в модале в конец <body> (большинство модальных диалогов делают это по умолчанию) вне из <form>.

Чтобы исправить это, переместите модальный контейнер, чтобы он содержал форму whole . Это объясняется тем, что когда вы делаете equalTo: #ID, на самом деле не $("#ID") ищет элемент, а скорее так:

$("#password", password_confirm_DOM_Eement.form)

Если вы заглянете внутрь кода проверки, вы часто будете видеть $(selector, element.form), что означает, что он только внутри имеет ту же форму для этого селектора. Если элементы перемещаются из формы модалом, вы можете понять, почему это перестало работать:)

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