jQuery MiniUI

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

求助帖:IE 9 在使用MINIUI进行表单提交失败 [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2018-4-8 09:23:37 |只看该作者 |倒序浏览
浏览器是IE9 IE9 IE9 (说三遍)其它浏览器合适
表单提交时控制台报出不能执行已释放script的代码!
有没有大腿知道如何解决?


Rank: 8Rank: 8

沙发
发表于 2018-4-8 10:48:06 |只看该作者
请提供一个重现的简单例子来分析吧。

Rank: 1

板凳
发表于 2018-4-8 13:53:38 |只看该作者
本帖最后由 weiunice 于 2018-4-8 14:05 编辑
felt 发表于 2018-4-8 10:48
请提供一个重现的简单例子来分析吧。

1.添加职位是通过mini.open一个新的页面,职位的列表信息是通过ondestroy方法获取的,通过addRow()添加到mini-dataGrid中

2.错误出现在mini-source.js中的doEncode方法(错误字段是lastUpdateTime)




在o.getFullYear()时抛出了该问题。
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

地板
发表于 2018-4-8 16:05:40 |只看该作者
weiunice 发表于 2018-4-8 13:53
1.添加职位是通过mini.open一个新的页面,职位的列表信息是通过ondestroy方法获取的,通过addRow()添加到m ...

请提供一下相关代码,

Rank: 1

5#
发表于 2018-4-8 16:22:00 |只看该作者
本帖最后由 weiunice 于 2018-4-8 16:23 编辑
felt 发表于 2018-4-8 16:05
请提供一下相关代码,

//打开子页面 并为职位列表添加数据
showPositionGrid: function () {
        var me = this;
        var title = "添加职位";
        var selectRows = me.positionAdditionGrid.data;
        mini.open({
            title: title,
            url: contextPath + "/doublechoiceenterprise-grid/doublechoiceenterprise-position-grid.html",
            width: 1000,
            height: 600,
            showMaxButton: true,
            showModal: true,
            onload: function () {
                    if (selectRows.length > 0) {
                    var frame = this.getIFrameEl();
                    frame.contentWindow.DoubleChoiceEnterprisePositionGrid.setData(selectRows);
                }
            },
            ondestroy: function (datas) {
                if (datas && datas != "close") {
                    me.positionAdditionGrid.clearRows();
                    $.each(datas, function (i, data) {
                        var row = {};
                        row['positionId'] = data.id;
                        row['name'] = data.name;
                        row['recruitNumber'] = data.recruitNumber;
                        row['dictEducationName'] = data.dictEducationName;
                        row['dictEducationValue'] = data.dictEducationValue;
                        row['jobCategoryName'] = data.jobCategoryName;
                        //未修改之前为row['lastUpdateTime'] = data.lastUpdateTime;无法提交,再ie浏览器中显示                       //lastUpdateTiime 为invalid date                       // row['lastUpdateTime'] 赋值修改后可以成功提交
                        var d = new Date(data.lastUpdateTime);
                        date=d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' +                                            d.getMinutes();
                        row['lastUpdateTime'] = date;
                        row['content'] = data.content;
                        me.positionAdditionGrid.addRow(row, 0);
                    });
                }
            }
        });
    },
//获取职位信息
getJobGridData: function () {
        var positionGrid = mini.get('position-addition-grid');
        var rows = positionGrid.findRows(function (row) {
            return true;
        });
        return rows;
    },
//提交
saveOrSubmit: function (url) {
        var me = this;
        me.doubleChoiceEnterpriseForm.validate();
        if (!me.form.isValid()) {
            var errorFields = me.doubleChoiceEnterpriseForm.getErrors();
            var s = [];
            $.each(errorFields, function (i, f) {
                s.push(f.label + "<span class='required'>" + f.getErrorText() + "</span>");
            });
            mini.alert(s.join('<br/>'), "提示");
            return;
        }
        var data = me.doubleChoiceEnterpriseForm.getData(true, false);
        data.positionAdditionList = me.getJobGridData();
        if (data.positionAdditionList.length <= 0) {
            mini.alert("请添加职位!", "提示");
            return;
        }
        $.ajax({
            url: url,
            type: 'post',
            dataType: 'json',
            data: {
                jsonParam: Constants.encodeObjToJSON(data)
            },
            async: false,
            success: function (text) {
                if (text.success) {
                    mini.alert(text.message, '提示', function () {
                        me.submitIsSuccess = true;
                        me.closeWin(text);
                    });
                    return;
                }
                mini.alert(text.message, '提示');
            }
        });
    },



Rank: 8Rank: 8

6#
发表于 2018-4-9 11:00:48 |只看该作者
weiunice 发表于 2018-4-8 16:22
//打开子页面 并为职位列表添加数据
showPositionGrid: function () {
        var me = this;

你这lastUpdateTime是什么结构的数据,如果光是addRow应该是不管什么数据都不会报错的。
你简化一下,造个数据来直接重现问题。

Archiver|普加软件

GMT+8, 2025-7-10 04:19 , Processed in 1.037545 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部