http://bassistance.de/jquery-plugins/jquery-plugin-validation/看起来是最好的jquery验证插件。我似乎无法得到它的工作在jQuery UI对话框。
此代码在对话框外部工作DIV:
<script type="text/javascript">
$(document).ready(function() {
$("form").validate();
$("a").bind("click",function() { alert($("form").valid()); });
});
</script>
<form method="get" action="">
<p>
Name
<input id="name" name="name" class="required" minlength="2" />
</p>
<p>
E-Mail
<input id="cemail" name="email" size="25" class="required email" />
</p>
<a href="#" id="clickTest">Click</a>
</form>
这工作伟大。当我将窗体移动到我的对话框div,打开对话框,并单击链接,它返回true,没有bueno。
有没有办法使用这个杀手jquery验证插件,而不必使用< form>标签?或者有更好的方式这样做成功吗?
解决方法
如果有人遇到这个问题,jQuery-UI对话框不附加到表单,它附加在< / body>之前,因此要验证的元素在< form>< / form>部分:
要解决这个问题,只需在创建对话框时将对话框移动到表单内即可,如下所示:
$("#mydiv").dialog("open").parent().appendTo(jQuery("form:first"));