【问题标题】:Only on Chrome I got this error: Uncaught TypeError: Illegal constructor [closed]只有在 Chrome 上我得到了这个错误: Uncaught TypeError: Illegal constructor [关闭]
【发布时间】:2013-11-15 17:54:48
【问题描述】:

当我在 Chrome 上加载 jQuery 时,我会收到这个错误:“Uncaught TypeError: Illegal constructor”

在其他浏览器(IE、Mozilla)上运行良好。这是我电脑上的几个屏幕截图。同样的错误。


(来源:vaziuoju.lt

代码:

$(Document).ready (function () {

    $("p.warning").hide();

    $( "#newAdsForm" ).submit(function( event ) {


        var vailidEmail = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;

        var vardas = $("#vardas").val();                    var vardasTest = false;
        var vardas = vardas.replace(/<(?:.|\n)*?>/gm, '');
        var pastas = $("#pastas").val();                    var pastasTest = false;
        var phone = $("#phone").val();                      var phoneTest = false;
        var kada = $("#inputField").val();                  var kadaTest = false;
        var kaina = $("#kaina").val();                      var kainaTest = false;
        var kaina = kaina.replace(/<(?:.|\n)*?>/gm, '');
        var skelbimas = $("#skelbimas").val();              var skelbimasTest = false;
        var skelbimas = skelbimas.replace(/<(?:.|\n)*?>/gm, '');

        if (vardas == "") {
            $("p#vardas").fadeOut("fast", function () {
                $("p#vardas").text ("Vardas būtinas!");
            });
            $("p#vardas").fadeIn("fast");
            vardasTest = false;
        } else {
            $("p#vardas").fadeOut("fast");
            vardasTest = true;
        }

        if (pastas == "") {
            $("p#pastas").fadeOut("fast", function () {
                $("p#pastas").text ("El. paštas būtinas!");
            });
            $("p#pastas").fadeIn("fast");
            pastasTest = false;
        } else if (!pastas.match(vailidEmail)) {
            $("p#pastas").fadeOut("fast", function () {
                $("p#pastas").text("Negaliojantis pašto adresas!");
            });
            $("p#pastas").fadeIn("fast");
            pastasTest = false;
        } else {
            $("p#pastas").fadeOut("fast");
            pastasTest = true;
        }

        if (phone == "") {
            $("p#phone").fadeOut("fast", function () {
                $("p#phone").text ("Telefono numeris būtinas!");
            });
            $("p#phone").fadeIn("fast");
            phoneTest = false;
        }
        else if (!phone.match(/^[0-9-+]+$/)) {
            $("p#phone").fadeOut("fast", function () {
                $("p#phone").text ("Neteisingas Telefono numeris!");
            });
            $("p#phone").fadeIn("fast");
            phoneTest = false;
        } else  {
            $("p#phone").fadeOut("fast");
            phoneTest = true;
        }

        var comp = kada.split('-');
        if ((comp[0].length != 4) || (comp[1].length != 2) || (comp[2].length != 2) || (kada.length != 10)) {
            $("p#kada").fadeOut("fast", function () {
                $("p#kada").text ("Blogai nurodyta data!");
            });
            $("p#kada").fadeIn("fast");
            kadaTest = false;
        } else if ((!comp[0].match(/^\d+$/)) || (!comp[1].match(/^\d+$/)) || (!comp[2].match(/^\d+$/))) {
            $("p#kada").fadeOut("fast", function () {
                $("p#kada").text ("Blogai nurodyta data2!");
            });
            $("p#kada").fadeIn("fast");
            kadaTest = false;
        } else {
            $("p#kada").fadeOut("fast");
            kadaTest = true;
        }

        if (kaina.length != 0) {


            var number = /^\-{0,1}(?:[0-9]+){0,1}(?:\.[0-9]+){0,1}$/i;
            var regex = RegExp(number);

            if (!regex.test(input) && input.length>0) {
                $("p#kaina").fadeOut("fast", function () {
                    $("p#kaina").text ("Neteisinga kaina!");
                });
                $("p#kaina").fadeIn("fast");
                kainaTest = false;
            } else {
                $("p#kaina").fadeOut("fast");
                kainaTest = true;
            } 
        } else {
            $("p#kaina").fadeOut("fast");
            kainaTest = true;
        } 

        if (vardasTest && pastasTest && phoneTest && kadaTest && kainaTest) return true;
        else return false;

    });

});

部分 HTML 代码

   <tr><td>Vardas</td><td><input type = "text" class = "newAdd" name = "vardas" id = "vardas" <?php if (isset($_SESSION ['vardas'])) echo "value = '".$_SESSION ['vardas']; ?>'/><p class = "warning" id = "vardas">Vardas būtinas!</p></td></tr>

有什么办法可以解决吗?

【问题讨论】:

  • 向我们展示 jQuery 源代码(在屏幕截图中不少于)并不是很有用。当您以意想不到的方式调用 jQuery 函数时,问题可能出现在 您的 代码中。
  • 您的代码中的什么触发了此代码?
  • 已经发布了我的代码。很抱歉
  • 你也可以发布html吗?
  • "有什么办法可以修复它吗?"学习在 Chrome 中使用调试器。您可以将其设置为在所有异常情况下进入调试模式,检查调用堆栈的当前状态,并评估当前执行上下文中的表达式和变量。我们不能从这里做到这一点。

标签: javascript php jquery html


【解决方案1】:

你应该试试小写

“d”

$(document).ready(function(){... 

javascript 在设置变量后区分大小写

【讨论】:

  • 刚刚在这里尝试过,就是这样。多么奇怪和无用的错误消息。
  • 太完美了!!!愚蠢的错误输入。谢谢!!!
  • 没问题,js是区分大小写的,一旦设置了变量;)
  • @Archer 这是一个巧合,因为Document 是一个实际存在的函数。通常你会在写一个大小写错误的变量名时得到一个更具描述性的错误信息(引用错误)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多