【发布时间】:2012-01-16 15:56:39
【问题描述】:
好的,这就是交易:
我通过 AJAX 调用 Colorbox 中的表单,并设置了一个回调来处理其验证,效果很好。唯一的问题是,当我尝试在字段无效时调整框的大小(生成带有一类错误的标签)时,in 仅适用于第二次尝试。
我在点击事件上调用resize方法,它只在第二次点击时起作用。
我怀疑这是因为它会在生成标签之前尝试调整大小...我不知道如何规避这个问题。任何帮助将不胜感激。
$(".colorbox").click(function(e) {
e.preventDefault();
var el = $(this),
sdHref = (el.attr("data-sd-href") ? el.attr("data-sd-href") : el.attr("href")),
sdTitle = (el.attr("data-sd-title") ? el.attr("data-sd-title") : el.attr("title")),
sdIframe = (el.attr("data-sd-iframe") ? true : false),
sdWidth = (el.attr("data-sd-width") ? el.attr("data-sd-width") : false),
sdHeight = (el.attr("data-sd-height") ? el.attr("data-sd-height") : false);
$.colorbox({
href: sdHref,
title: sdTitle,
iframe: sdIframe,
width: sdWidth,
height: sdHeight,
scrolling: false,
onComplete: function() { // I validate the form once the content is loaded
$("form").validate({
rules: {
phone: {
minlength: 10,
maxlength:10,
digits: true
}
}
});
}
});
});
$('body').click(function(event) { // Even bubbling works on clicking the button, but only on the second try...
if ($(event.target).is('button[type=submit]')) {
$.colorbox.resize();
}
});
【问题讨论】:
标签: ajax jquery-validate colorbox