使用Jquery验证模式窗口
我有一个工作正常的模式窗口和一个验证正常的jquery表单,但这两个表单不能一起工作。我尝试了不同的点击/现场事件组合,但似乎没有任何效果。一旦我将模态windows ID附加到表单容器,它就不起作用了。这是我的密码。我很沮丧,我真的希望你能帮助我!事先非常感谢你。我已经做了几个小时了,没有任何进展使用Jquery验证模式窗口,jquery,jquery-validate,modal-dialog,Jquery,Jquery Validate,Modal Dialog,我有一个工作正常的模式窗口和一个验证正常的jquery表单,但这两个表单不能一起工作。我尝试了不同的点击/现场事件组合,但似乎没有任何效果。一旦我将模态windows ID附加到表单容器,它就不起作用了。这是我的密码。我很沮丧,我真的希望你能帮助我!事先非常感谢你。我已经做了几个小时了,没有任何进展 var jQuery = jQuery.noConflict(); jQuery(document).ready(function() { jQuery.validator.methods.
var jQuery = jQuery.noConflict();
jQuery(document).ready(function() {
jQuery.validator.methods.NotEqual = function(value, element, param) {
return value != param;
};
jQuery('#submit').live('click',function() {
jQuery('form').submit();
});
jQuery('form').live("submit", function(event) {
jQuery("#contacts").validate({
errorPlacement: function(error, element) {},
errorContainer: "#PIErrorBox",
rules: {
name: {
required: true,
NotEqual: 'Name'
},
email: {
required: true,
email: true,
NotEqual: 'Email'
},
notes: {
required: true,
NotEqual: 'How Can I Help?'
}
},
submitHandler: function(form) {
jQuery(".button").hide();
var loader = jQuery('<img src="images/loading.gif" alt="loading..." class="loading">').insertAfter(".button");
var param = jQuery(form).serialize();
jQuery.ajax({
type: "POST",
url: "include/inc_sendmail.php",
data: param,
success: function() {
jQuery('#contacts').hide();
jQuery('#thankyou').show();
}
});
return false;
}
});
});
var jQuery=jQuery.noConflict();
jQuery(文档).ready(函数(){
jQuery.validator.methods.NotEqual=函数(值、元素、参数){
返回值!=param;
};
jQuery(“#提交”).live('click',function(){
jQuery('form').submit();
});
jQuery('form').live('submit',函数(事件){
jQuery(“#联系人”).validate({
errorPlacement:函数(错误,元素){},
errorContainer:#PIErrorBox“,
规则:{
姓名:{
要求:正确,
NotEqual:'名称'
},
电邮:{
要求:正确,
电子邮件:是的,
NotEqual:“电子邮件”
},
注:{
要求:正确,
NotEqual:“我能帮什么忙?”
}
},
submitHandler:函数(表单){
jQuery(“.button”).hide();
var loader=jQuery(“”).insertAfter(“.button”);
var param=jQuery(form).serialize();
jQuery.ajax({
类型:“POST”,
url:“include/inc_sendmail.php”,
数据:param,
成功:函数(){
jQuery('#contacts').hide();
jQuery(“#谢谢”).show();
}
});
返回false;
}
});
});
}))
我有一个非常困难的时间让html发布,所有我得到的是空div。这是小提琴,它显示了html:
从使用Jquery验证库
模式窗口代码
模态JS:
通过$Z(“#ContactMeLink”).fancyZoom()调用
非常感谢您的帮助:)看起来您的html中有一个额外的结束表单标记 还有这条线
var jQuery = jQuery.noConflict();
如果不正确,则不需要将其设置为var,只需执行以下操作
jQuery.noConflict();
我不明白
$Z('#ContactMeLink').fancyZoom();
$Z是什么?这个jQuery还有点晚了,但也许这可以帮助其他人 这可能是因为模型将要验证的元素移动到表单之后的主体底部。验证器在表单中搜索它们,但没有找到它们
诀窍是不要将模式区域中的元素移出表单标记。我可以看看您的html吗?还有模态代码在哪里?当然,我现在正在添加它。谢谢由于我使用不同的库,所以使用了无冲突标记。。。如果有更好的办法,请告诉我。我有正确的结束标记,它一定没有在堆栈溢出中很好地转换。这是合适的小提琴:。同样,一旦我将窗体从模式窗口中取出,它就可以正常工作。模式对话框是使用另一个库创建的吗?你能把这个对话包括在你的小提琴里吗?给你,我终于注册了小提琴并载入了图书馆s注释:“Karel的答案是100%正确的;将表单标记放在modal的容器标记
模态内容之外,包括表单
,如果表单在div内,选择器将返回NULL。如果div在表单内,它将按预期工作。”