在上下视图中,我正在尝试通过经过验证的表单(使用jQuery-validate)上传图像(在目标iFrame中)。之后,iFrame上传图像的PHP脚本重新加载父文档以刷新图像列表,从而产生ajax加载:
$('#content', window.parent.document).load(...);
之后,标签之间的父文档javascript代码不起作用,因此验证的表单失败,当我再次提交表单时,只需带我索引。
任何人都可以帮我一些吗?
来自西班牙的问候
答案 0 :(得分:1)
如果您的表单位于#content中,则应考虑覆盖表单提交事件,如果它未正确提交并实施您希望在javascript中执行的操作。见http://api.jquery.com/submit/
要初始化动态加载元素的验证,请尝试使用
var element = "#content form";
$(element).valid();
$(element).find("input").each(function () {
$(this).blur(function () {
$(this).valid();
});
});
$(element).find("select").each(function () {
$(this).change(function () {
$(this).valid();
});
});
如果您使用不引人注目的验证,请参阅http://xhalent.wordpress.com/2011/01/24/applying-unobtrusive-validation-to-dynamic-content/和Validate dynamically added control
更新:我忘了提及,你在$(document).ready函数中执行的所有javascript都是在文档加载时执行的,因此不会在动态ajax加载的内容上执行,所以如果你需要附加datepicker等,那么你加载内容后必须这样做(在$ .ajax的成功函数中)