我使用带有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