fastadmin在添加页面点击确定按钮,新增数据成功,触发上级页面刷新。先看确定按钮的代码逻辑,来自源码
var that = this, submitBtn = $(".layer-footer [type=submit]", form);
that.holdSubmit(true);
submitBtn.addClass("disabled");
//验证通过提交表单
var submitResult = Form.api.submit($(ret), function (data, ret) {
that.holdSubmit(false);
submitBtn.removeClass("disabled");
if (false === $(this).triggerHandler("success.form", [data, ret])) {
return false;
}
if (typeof success === 'function') {
if (false === success.call($(this), data, ret)) {
return false;
}
}
//提示及关闭当前窗口
var msg = ret.hasOwnProperty("msg") && ret.msg !== "" ? ret.msg : __('Operation completed');
parent.Toastr.success(msg);
parent.$(".btn-refresh").trigger("click");
var index = parent.Layer.getFrameIndex(window.name);
parent.Layer.close(index);
return false;
}, function (data, ret) {
that.holdSubmit(false);
if (false === $(this).triggerHandler("error.form", [data, ret])) {
return false;
}
submitBtn.removeClass("disabled");
if (typeof error === 'function') {
if (false === error.call($(this), data, ret)) {
return false;
}
}
}, submit);
//如果提交失败则释放锁定
if (!submitResult) {
that.holdSubmit(false);
submitBtn.removeClass("disabled");
}
return false;在执行完成会执行
parent.$(".btn-refresh").trigger("click");因此我们只需要在上级页面增加这个div的监听事件即可
$(".btn-refresh").click(function (){
console.log('子页面新增完成,父页面数据可以刷新了');
}); 工厂模式虽然解决了创建多个对象的问题,但是并没有解决识别对象从属的问题.因为都属于object.因此出现了构造函数//构造函数名称首字母大写是规范 function Box(name,age){ this.name=name; this.age=age; this.run=funct...
//我们创建每个函数默认都有一个prototype(原型)属性,这个属性是一个对象 //1.我是普通的构造方法,我的属性叫实例属性,我的方法叫实例方法 /* function Box(name,age){ this.name=name; this.age=age; this.run...
//原型的缺点 function Box(){} Box.prototype={ 'name':'gao', age:23, family:['哥哥','姐姐','妹妹'], &...
朋友面试时候遇到的问题,我天真的认为会输出0,1,2,但是实际一直只输出2,2,2。通过了解才执行Js自身是单线程的环境,for循环本身是同步代码,setTimeout是异步代码。单线程的语言不能同时做2件事情,必须做出选择。于是Js引擎决定了当我执行完成同步的代码,再去执行异步的代码。当执行异步的...
(1).如果js函数代码在html中写的,例如下面的代码:<html> <head> <meta charset="utf-8"> </head> <body> <a onclick="...
具体文章解释请看廖雪峰老师的文章,这里仅仅记录笔记。国内飞机票点击访问首次接触可能一脸懵逼,下面的代码手把手敲一遍,100%懂。(1).基础demo//创建承诺 let p1 = new Promise(function (resolve, ...