jquery.validate equalTo和simple modal

时间:2010-01-29 09:25:45

标签: jquery jquery-validate

我使用简单的模式打开注册表单。我正在尝试验证密码并确认密码但密码字段总是空的任何想法?

<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 个答案:

答案 0 :(得分:3)

如果在实际标记中模态位于表单内部,则您正在使用的模型可能会将模态中的元素集移动到<body>的末尾(大多数模态对话框通过以下方式执行此操作:默认),<form>外部

要修复此移动模式容器以包含整个表单。这样做的原因是当你执行equalTo: #ID时,它实际上并没有$("#ID")来查找元素,而是这样:

$("#password", password_confirm_DOM_Eement.form)

如果你查看验证码,你会经常看到$(selector, element.form),这意味着它只是在里面那个选择器的相同形式。如果元素通过模态移动到表单之外,您可以看到为什么这会停止工作:)