我有一个mvc应用程序,在该数据没有得到保存在数据库,而点击保存按钮在chrome或边缘,但它是在IE工作良好



添加了finalpartiallysave函数,其中未捕获的内容将进入控制台相同的代码在IE中工作,但在chrome, edge或firefox中不起作用,数据没有得到输入代码,因此保存在DB中如果需要什么,请告诉我,我现在忙不过来了。附上下面的函数以供参考我试着检查ajax和aysnc,但它不工作

function FinalPartiallySave() {
var separator = ";";
var strPartiallyRows = "";
var Error = "";

var strSchemesRows = "";
// New Schemes
jQuery(".damage_new_scheme_row").each(function () {
var SchemeName = $(this).find('.new_scheme_name').val();
var Scheme = $(this).attr('scheme_id');
var SchemeDenomination = $(this).find('.new_scheme_denomination').val();
var SchemeQty = $(this).find('.new_scheme_qty').val();
var Mapid = $(this).attr("mapid");

Scheme = (Scheme == undefined) ? "" : Scheme;
SchemeDenomination = (SchemeDenomination == undefined) ? "" : SchemeDenomination;
SchemeQty = (SchemeQty == undefined) ? "" : SchemeQty;
Mapid = (Mapid == undefined) ? "" : Mapid;
if (SchemeQty == "0" || SchemeQty == "") {
Error += "Please enter Valid Qty for " + SchemeName + " Scheme n";
}
else {
strSchemesRows = strSchemesRows +
"" + separator +
"" + separator +
"" + separator +
SchemeDenomination + separator +
SchemeQty + separator +
Mapid + separator +
Scheme + ",";
}
});


var dScheme = "";
var ddl = document.getElementById("ContentPlaceHolder1_dc1_ddlscheme");
for (var index = 0; index < ddl.all.length; index++) {
if (ddl.all[index].selected) {
dScheme = ddl.all[index].text;
break;
}
}
var dSchemeId = jQuery('#hd_scheme_id').val();
var dSchemeDenomination = jQuery(".damage_new_scheme_row1").find('.new_scheme_denomination').val();
var dSchemeQty = jQuery(".damage_new_scheme_row1").find('.new_scheme_qty').val();
var dMapid = "0";
dScheme = (dScheme == undefined) ? "Select" : dScheme;
dSchemeDenomination = (dSchemeDenomination == undefined) ? "" : dSchemeDenomination;
dSchemeQty = (dSchemeQty == undefined) ? "" : dSchemeQty;
dMapid = (dMapid == undefined) ? "" : dMapid;
if (dScheme == "Select" && (dSchemeDenomination != "0" || dSchemeQty != "")) {
Error += "Please enter New Scheme Namen";
}
if (dSchemeId == "-1" && (dSchemeDenomination != "0" || dSchemeQty != "")) {
Error += "Please enter Valid New Scheme Namen";
}
if (dSchemeDenomination == "0" && (dScheme != "Select" || dSchemeQty != "")) {
Error += "Please select Coupon Type for " + dScheme + " Schemen";
}
if (dSchemeQty == "" && (dScheme != "Select" || dSchemeDenomination != "0")) {
Error += "Please enter Qty for " + dScheme + " Schemen";
}
if (dSchemeQty == "0" && (dScheme != "Select" || dSchemeDenomination != "0" || dSchemeQty == "")) {
Error += "Please enter Valid Qty for " + dScheme + " Schemen";
}

if (dScheme != "Select" && dSchemeDenomination != "0") {
if (!FindDuplicateNewSchemeRows(dScheme, dSchemeDenomination)) {
strSchemesRows = strSchemesRows +
"" + separator +
"" + separator +
"" + separator +
dSchemeDenomination + separator +
dSchemeQty + separator +
dMapid + separator +
dSchemeId + ",";
}
else {
Error += "Duplicate New Schemes Damagen";
}
}

检查你的代码后,我发现了一些不寻常的东西。这可能与不兼容问题有关。

var ddl = document.getElementById("ContentPlaceHolder1_dc1_ddlscheme");
for (var index = 0; index < ddl.all.length; index++) {
if (ddl.all[index].selected) {
dScheme = ddl.all[index].text;
break;
}
}

我们现在有document.getElementById('id').all,也就是undefined。此外,all现在已被弃用,所以我建议尝试querySelectorAll代替。

最新更新