jQuery MiniUI

 找回密码
 立即注册
查看: 2750|回复: 9
打印 上一主题 下一主题

弹出窗体问题 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2013-8-15 14:56:23 |只看该作者 |倒序浏览
请问我做的一个添加按钮,第一次添加的时候能获得表达的值,把窗体关了之后,再打开,在js文件中获取不到表单的值,请问是怎么回事?
具体代码如下:
//显示添加员工窗口
mingXi.ShowAddEmloyWin = function (ID) {
    var addWin = mini.get('optaddEmployInfowin' + ID);
    addWin.show("center", "middle");
    var addForm = new mini.Form("#addEmployInfo"+ID);
    addForm.clear();
    //初始化部门和性别
    mingXi.sexComboxInit(ID);
}

//取消员工添加窗体
mingXi.cancelAddEmploy = function (ID) {
    var addWin = mini.get('optaddEmployInfowin' + ID);
    addWin.hide();
}

//添加员工
mingXi.Add = function (ID) {
    var addForm = new mini.Form("#addEmployInfo" + ID);
    //验证数据
    addForm.validate();
    if (addForm.isValid() == false) return;
    //获取表单数据
    var data = addForm.getData();
    if (data.depID == -1) {
        mini.alert("请选择所在的部门");
        return;
    }
    //将时间进行格式化
    var createDateFormat = mini.formatDate(data.employCreateDate, "yyyy-MM-dd");
    data.employCreateDate = createDateFormat;
    debugger;
    data.depID = ID;
    var grid = mini.get('optEmploygrid' + ID);
    //加载遮罩
    addForm.loading();
    $.ajax({
        url: "/EmployInfo/AddEmploy",
        type: "post",
        data: data,
        success: function (data) {
            if (data.Result == "ok") {
                grid.reload();
                mini.alert("添加成功!", "用户管理");
                mingXi.cancelAddEmploy(ID);
            }
            else {
                mini.alert("添加失败", "用户管理");
            }
        },
        error: function (XMLHttpRequest, textStatus) {
            mini.alert("添加用户失败!服务器出错了!", "用户管理");
        },
        complete: function () {
            grid.reload();
            //取消遮罩
            addForm.unmask();
        }
    });
}

Rank: 8Rank: 8

沙发
发表于 2013-8-15 15:22:43 |只看该作者
我建议你还是逐步调试看吧
是不是你的ShowAddEmloyWin()的时候addForm.clear();把表单清空了?

Rank: 3Rank: 3

板凳
发表于 2013-8-15 15:29:32 |只看该作者
factory 发表于 2013-8-15 15:22
我建议你还是逐步调试看吧
是不是你的ShowAddEmloyWin()的时候addForm.clear();把表单清空了? ...

弹出窗体的时候清空,我填写完数据的时候,是执行mingXi.Add(),按理说是能获取值才对呀!!!

Rank: 8Rank: 8

地板
发表于 2013-8-15 15:57:27 |只看该作者
lvdiquan 发表于 2013-8-15 15:29
弹出窗体的时候清空,我填写完数据的时候,是执行mingXi.Add(),按理说是能获取值才对呀!!! ...

那你逐步调试看

Rank: 3Rank: 3

5#
发表于 2013-8-15 16:00:18 |只看该作者
factory 发表于 2013-8-15 15:57
那你逐步调试看

调试了,把 var addForm = new mini.Form("#addEmployInfo"+ID);放到函数外面,就没这个问题了,但是不知道是什么原理,求解释!!

Rank: 6Rank: 6

6#
发表于 2013-8-15 16:01:05 |只看该作者
问题出现在你们的框架上
建议你将表单变量设置为window全局变量

var addForm = new mini.Form("#addEmployInfo"+ID);
function f(){
    //使用你的addForm;
}

Rank: 3Rank: 3

7#
发表于 2013-8-15 16:03:29 |只看该作者
langben 发表于 2013-8-15 16:01
问题出现在你们的框架上
建议你将表单变量设置为window全局变量

这样设置是对的,但是想知道是什么原理,能解释一下嘛???

Rank: 8Rank: 8

8#
发表于 2013-8-15 16:07:01 |只看该作者
lvdiquan 发表于 2013-8-15 15:29
弹出窗体的时候清空,我填写完数据的时候,是执行mingXi.Add(),按理说是能获取值才对呀!!! ...

你做个html页面,能重现问题,然后帮你看下是什么原因

Rank: 6Rank: 6

9#
发表于 2013-8-15 16:28:53 |只看该作者
猜测
就是你们框架使用一个界面
没有使用iframe嵌套
表单生成实例变量的时候生成到了主界面
主界面是针对window级别的
当你方法在new 一个表单变量的时候针对的是方法域级别的
所以找不到
建议你使用iframe嵌套访问你的界面就不用全局设置form变量了。

Rank: 9Rank: 9Rank: 9

10#
发表于 2013-8-16 09:18:53 |只看该作者
复杂的场景,你提供下html示例,能重现问题,这样好好处理了。

Archiver|普加软件

GMT+8, 2024-11-29 12:55 , Processed in 1.045843 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部