我有一个MVC应用程序,因为在Chrome或Edge中单击保存按钮时,数据没有保存在数据库中,但它在IE中工作正常

i have an mvc application , in that data is not getting saved in db while clicking on save button in chrome or edge but it is working fine in IE

提问人:jack papa 提问时间:11/30/2022 最后编辑:jack papa 更新时间:12/1/2022 访问量:70

问:

在控制台中添加 FinalPartiallySave 函数,其中 Uncaught 即将推出 相同的代码在 IE 中有效,但在 chrome、edge 或 firefox 中不起作用,数据不是 gettinenter 代码 hereg 保存在数据库中 如果需要什么,请告诉我,我被困在里面。 附加以下函数以获取参考 我试图检查 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 Name\n";
            }
            if (dSchemeId == "-1" && (dSchemeDenomination != "0" || dSchemeQty != "")) {
                Error += "Please enter Valid New Scheme Name\n";
            }
            if (dSchemeDenomination == "0" && (dScheme != "Select" || dSchemeQty != "")) {
                Error += "Please select Coupon Type for " + dScheme + " Scheme\n";
            }
            if (dSchemeQty == "" && (dScheme != "Select" || dSchemeDenomination != "0")) {
                Error += "Please enter Qty for " + dScheme + " Scheme\n";
            }
            if (dSchemeQty == "0" && (dScheme != "Select" || dSchemeDenomination != "0" || dSchemeQty == "")) {
                Error += "Please enter Valid Qty for " + dScheme + " Scheme\n";
            }


            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 Damage\n";
                }
            }


jQuery Google-Chrome Internet-Explorer 模型-视图-控制器 Microsoft-Edge

评论

0赞 Kendrick Li 11/30/2022
从你的第二个代码来看,它看起来更像是而不是 MVC。另外,我无法重现此问题,因为我没有您的自定义类/函数。我还需要控制台中的错误消息(如果有)。它可以帮助缩小范围。Web Forms
0赞 jack papa 11/30/2022
在控制台错误 --FinalPartiallySave @ CouponVerification.a ...308253&Stage=6:4752 --onclick @ CouponVerification.a...308253&Stage=6:4396 为 FinalPartiallySave 添加了代码
0赞 Kendrick Li 12/1/2022
此错误消息是否来自 Visual Studio 控制台?实际上,我的意思是 Edge/Chrome devtools 控制台。如果按钮单击不起作用,则单击保存按钮时,您应该会在该控制台中看到错误消息。
0赞 jack papa 12/1/2022
在控制台中,它显示未捕获的功能,我试图调试它没有显示任何错误,只是它失败了(var index = 0; index < ddl.all.length; index++)并在长度和索引++处显示叉号。但未显示任何错误消息。同样在IE中工作

答:

0赞 Kendrick Li 12/1/2022 #1

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

    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').allundefinedallquerySelectorAll