确认对话框导致IE崩溃

时间:2015-05-05 17:12:15

标签: javascript c# jquery asp.net

我使用带有C#代码的ASP.NET使用JQuery 11.1.2创建了一个Web应用程序。我有一个下拉列表,在单击它时由对服务器的AJAX调用填充。 Web方法返回一个选项列表,以包含在基于args的下拉列表中。一些选项返回附加到选项末尾的'confirm',我的成功函数将其分离出来,我在前端使用它来决定选项是否需要确认。都好。

我的问题出现在确认对话框出现时,无论选择的选项如何,它都会崩溃IE 11。它在Chrome和Firefox中运行良好,但每次都在IE中崩溃。我唯一的想法是IE不喜欢这一切都是在AJAX成功函数中完成的吗?不确定。任何想法将不胜感激!谢谢。

$('.lazy-load').click(function (e, k) {
        if (e.currentTarget.length < 2) {
            var callerId = getTarget(e);
            callerId = callerId.id;
            // parse out the true encrypted id
            var encIdIndex = callerId.indexOf('ddlAction') + 9;
            var encId = callerId.substring(encIdIndex);
            if (encId == '' || encId == null)
                return;
            // get the valid workflow options for this clientice
            $.ajax({
                type: 'POST',
                url: 'LandingSummary.aspx/GetWorkflowOptions',
                async: false,
                data: "{ 'csId': '{0}'}".format(encId),
                success: function (data) {
                    ddlId = 'ddlAction' + encId;
                    $$(ddlId).get(0).options.length = 0; // clear
                    $$(ddlId).get(0).options[0] = new Option("Choose...", '');
                    $.each(data.d, function(index, item) {
                        if (item.Value.indexOf('CONFIRM') != -1) {
                            //strip text
                            var newText = item.Value.slice(0, 0 - 'CONFIRM'.length);
                            // add confirm attribute
                            var option = new Option(newText, item.Key);
                            option.setAttribute('data-confirm', 'confirm');
                            $$(ddlId).get(0).options[$$(ddlId).get(0).options.length] = option;
                        }
                        else {
                            $$(ddlId).get(0).options[$$(ddlId).get(0).options.length] = new Option(item.Value, item.Key);
                        }
                    });
                    var fullId = $$(ddlId)[0].id;
                    ExpandSelect(fullId);
                    // add warning hookup
                    $$(ddlId).change(function () {
                        var confirmAttribute = $$(ddlId).find('option:selected').attr('data-confirm');
                        //debugger;
                        if (confirmAttribute != undefined) {
                            var newState = $$(ddlId).find('option:selected').text();
                            var sure = confirm('Are you sure you want to move this authorization to the {0} state?'.format(newState));
                            if (!sure) {
                                $$(ddlId).val('');
                                return false;
                            }
                        }
                    });
                },
                error: function (result) {
                    alert('error retrieving workflow options');
                }
            });
        }
        return false;
    })

    function getTarget(obj) {
        var targ;
        var e = obj;
        if (e.target != undefined) targ = e.target;
        else if (e.srcElement != undefined) targ = e.srcElement;
        if (targ.nodeType == 3) // defeat Safari bug
            targ = targ.parentNode;
        return targ;
    }

});

问题签名:
  问题事件名称:APPCRASH
  应用程序名称:IEXPLORE.EXE
  申请版本:11.0.9600.17631
  申请时间戳:54b31a70
  故障模块名称:MSHTML.dll
  故障模块版本:11.0.9600.17631
  故障模块时间戳:54b33039
  例外代码:c0000005
  异常抵消:0008d910
  操作系统版本:6.1.7601.2.1.0.256.48
  地区ID:1033
  附加信息1:0a9e
  附加信息2:0a9e372d3b4ad19135b953a78882e789
  附加信息3:0a9e
  附加信息4:0a9e372d3b4ad19135b953a78882e789

0 个答案:

没有答案