Jquery 如何在页面刷新时触发事件

Jquery 如何在页面刷新时触发事件,jquery,Jquery,我们站点的后端开发人员有一个div.errors用于表单处理,它始终存在,但为空,除非表单提交中出现错误。一开始很容易隐藏div,然后检查它是否有长度,是否显示长度 if ($(".errors").text().trim().length) { $(this).css('display', 'block'); } 问题在于,在页面加载时,div.errors是空的并且是隐藏的。提交表单时,如果出现错误,div.erros将具有长度,但页面将刷新(再次加载),事件不会再次触发。.liv

我们站点的后端开发人员有一个div.errors用于表单处理,它始终存在,但为空,除非表单提交中出现错误。一开始很容易隐藏div,然后检查它是否有长度,是否显示长度

if ($(".errors").text().trim().length) {
    $(this).css('display', 'block');
}

问题在于,在页面加载时,div.errors是空的并且是隐藏的。提交表单时,如果出现错误,div.erros将具有长度,但页面将刷新(再次加载),事件不会再次触发。.live是一个可行的选项吗?

live在这里不是一个选项,当您向页面动态添加元素时,会使用live。您需要某种状态管理技术来在页面刷新之间保留div.errors的值。我建议您使用cookie,因为它们可以在JQuery中轻松访问。

问题在于
停止引用元素:

$(".errors").each(function () {
    if ($(this).text().trim().length) {
        $(this).css('display', 'block');
    }
});

如果您不想刷新页面,可以使用AJAX将数据提交到服务器。从服务器端语言设置错误变量如果有错误,如果没有,请不要设置melclanrs,Jashwant-这两个想法都很好,我将提出。谢谢,太棒了,非常感谢。不幸的是,Thx会花上我好几天的时间来解决这个问题。