WFFM - 访问对象内部的功能

时间:2016-05-25 18:47:30

标签: javascript jquery sitecore web-forms-for-marketers

我正在使用Web Form For Marketers(WFFM),我在$ scw.widget对象中创建了几个自定义函数,位于wffm.js.问题是当调用其中一个函数OUTSIDE对象时,我得到“函数未定义”。

示例:

$scw.widget("wffm.track", {
    options: {
         formId: null,
         fieldId: null,
         fieldTitle: null,
         fieldValue: null,
         eventCount: null,
         rules: null
    },
    //Custom function
    checkRequiredFields: function (e, element) {
         var form = $scw(element).closest("form");
         if ($scw(form).find(".form-group.required-field.valid").length === $scw(form).find(".form-group.required-field").length) {
            if ($scw(form).parents("#c-fab__brochure").length) {
                if ($scw(form).parents("#c-fab__brochure").find(".brochure-cover").attr("data-selected") === "true") {
                    this.validForm(e, form);
                }

            } else {
                  this.validForm(e, form);
            }
        } 
    },
});

我试过这个:

$scw(".parent")
     .off("click.scw")
     .on("click.scw", ".child", function (e) {
           $scw.widget.checkRequiredFields(e, $scw(".child").parents(".main-parent").find("form"));
});

然后我得到:

$scw.widget.checkRequiredFields is not a function

访问该功能的正确方法是什么? 感谢。

1 个答案:

答案 0 :(得分:0)

$ scw只是某个版本的jQuery,用于避免与您网站上的几个jQuery版本冲突。 (因为WFFM需要特定的一个,而您的网站可能需要另一个)。

知道$ scw只是jQuery我可以建议你使用jQuery方法:

$scw(".child").track("checkRequiredFields", e, ".child");

如果它没有帮助,请尝试查找如何调用方法jQuery小部件。