从form.submit调用JQuery小部件函数



我试图从form.submit调用我的jquery小部件api的公共方法,但我没有成功。谁能帮我?

_cleanFormFields: function() {
  console.log("ok");
},
_addFormListener: function(map, marker) {
    var form = $(".add-form").clone().show();
    form.submit(function (event){
       event.preventDefault();
       _cleanFormFields();
    }
}           

为什么这不起作用??浏览器控制台引发"未捕获的引用错误:未定义_cleanFormFields"异常

_cleanFormFields

某个对象的属性,对吧?所以你不能直接调用它,你需要通过你的对象引用它:

yourObject._cleanFormFields();

或者,根据调用_addFormListener()的方式,您可能能够使用 this 。但是你需要保持对this的引用不_addFormListener(),因为在.submit()回调中,this将是有问题的表单元素:

_addFormListener: function(map, marker) {
    var form = $(".add-form").clone().show(),
        self = this;
    form.submit(function (event){
       event.preventDefault();
       self._cleanFormFields();
    }
}

最新更新