我正在尝试在jquery UI模式对话框中验证用户输入。 Jquery验证插件用于验证。
尝试在弹出按钮中验证验证单击
<form id="frm">
<div>
<button name="btn" id="btn" type="button" >OpneModal</button>
<div id="dlg" style="display:none">
<div>
Name: <input type="text" id="txtName" name="txtName"/>
</div>
<div>
</div>
</div>
</div>
</form>
$(
function () {
var rules = {
txtName: {
required: true
}
};
var messages = {
txtName: {
required: "Please enter name"
}
};
$("#frm").validate({rules:rules, messages:messages});
$("#btn").click(
function () {
$("#dlg").dialog(
{
modal: true,
buttons: {
"Save": function () {
alert( $("#frm").valid());
},
"Cancel": function () {
$("#dlg").dialog("close");
}
}
}
);
}
);
});
但验证总是成功的。
代码在js小提琴中:http://jsfiddle.net/aGJrZ/6/
答案 0 :(得分:1)
jQuery Validation插件要求所有输入元素必须包含在一组<form></form>
标记中。但是,使用DOM检查器,您可以看到在构造对话框时,它完全位于<form></form>
之外。
重新对HTML进行重新分析,以便1>} 对话框中包含<{1}} ...
form