2

我的代码出现了这个奇怪的错误。我正在尝试通过添加特定触发器来解决 [用于] 在 Chrome 中工作但不能在 IE 中工作的页面(惊喜),但现在我Uncaught TypeError: object is not a function在 Chrome 的控制台中收到错误。

据我所知,这是一个功能(正在进行中):

<script type="text/javascript">
    function validate() {                
            var id = jQuery("form").attr('id');
            var formid = "#"+id;
            jQuery(formid).add("<input type=\"hidden\" name=\"APC_UPLOAD_PROGRESS\" value=\""+id+"\" />");
            jQuery("#validate").hide();
            jQuery("#submitme").show();
    }
</script>

它被以下代码调用:

<button id="validate" onClick="validate()" type="button">Validate</button>

我没有使用<input type="submit>,因为我有额外的表单提交 JS 来运行。

因此,当我单击按钮时,页面什么也不做,并且在控制台中出现名义上的错误。

我尝试使用jQuery.fn.validate = function(){};但无济于事。

为了让这更有趣,该网站是 Wordpress,这个特定的页面加载 jQuery 和 MooTools 以及直接的 JS。

简而言之; 我犯了什么愚蠢的小错误?谷歌上的所有搜索都是多年前的,并且是由我认为是类的东西生成的。

更新

控制台说这一行是错误

<button id="validate" onClick="validate()" type="button">Validate</button>

更新 2

Pastbin 链接到表单代码http://pastebin.com/3Kw5vdhn

4

2 回答 2

2

在 Chrome 浏览器中,您可以要求 JS 执行在异常时停止。要启用它,请打开 JS 控制台并单击主面板和控制台之间胡须左侧的小图标。如果图标为蓝色,您将停止对所有异常的执行,如果图标为红色,则仅在未捕获的异常上,如果它为灰色,则根本不停止。

因此,单击直到它变为红色以停止未捕获的异常。运行您的网页,执行应在引发异常时完全停止。然后您可以检查 validate 变量的值。

我怀疑这是您的代码与您正在加载的其他代码之间的某种全局变量冲突。要快速检查,请将 validate 重命名为 QQvalidate 并尝试您的代码。

于 2012-05-23T05:29:21.390 回答
0

嗨 Joshua,我尝试在我的 PC 上运行相同的代码并且它运行良好,检查您的参考资料(jQuery 源文件等)。

于 2012-05-23T04:29:45.640 回答