0

我在一个 HTML 页面上有多个表单。对于相同的方法名称,每个表单都有不同的验证逻辑。但是,jQuery-validator 只允许全局添加方法,例如下面的方法 'equal':

$.validator.methods.equal = function(value, element, param) {
    // form1 logic
    return value == param;
};

我尝试了 jQuery.noConflict() 但这并没有阻止 form2 覆盖 form1 的方法。

需要的原因是,我正在开发具有多个 portlet 的门户应用程序。每个 portlet 都像独立的 web 应用程序(但没有 HTML、HEAD、BODY 标记,只是 HTML 的片段)。每个 portlet 不知道彼此。它们一起形成一个单一的 HTML 页面,门户将组合所有 portlet HTML 片段并添加常见的 HTML、HEAD、BODY 标记。

我需要一种方法来允许 jQuery 的多个实例或 jQuery-validator 的多个实例,或者非全局声明自定义验证器方法的方法。

帮助赞赏。

4

1 回答 1

0

这是一个丑陋的 hack,但您可以将 portlet 放在 iframe 中。每个 iframe 都单独运行 javascript。你可以有多个 jquery 的“实例”。

但是,iFrame 会导致各种其他问题,因此这是最后的解决方案。

于 2012-07-08T01:06:46.507 回答