Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改类时超出了最大调用堆栈大小-引导,jQuery_Javascript_Jquery_Html_Twitter Bootstrap 3_Jqbootstrapvalidation - Fatal编程技术网

Javascript 更改类时超出了最大调用堆栈大小-引导,jQuery

Javascript 更改类时超出了最大调用堆栈大小-引导,jQuery,javascript,jquery,html,twitter-bootstrap-3,jqbootstrapvalidation,Javascript,Jquery,Html,Twitter Bootstrap 3,Jqbootstrapvalidation,我正在使用jQuery 2.1.1、jQuery UI 1.11、Bootstrap 3.2、Fuel UX 2.3(仅用于表单向导)和BootstrapValidator v0.5.1-dev 我在Fuel UX向导中有一个巨大的自举表单,带有BootstrapValidator验证,以及大量事件和东西的jQuery(总页面是1900行,这就是我没有提供任何代码的原因) 我的表格上都有一个col-xs-8类的div,一切正常。然后我把它改成class=“container”(只是代码上的变化,

我正在使用jQuery 2.1.1、jQuery UI 1.11、Bootstrap 3.2、Fuel UX 2.3(仅用于表单向导)和BootstrapValidator v0.5.1-dev

我在Fuel UX向导中有一个巨大的自举表单,带有BootstrapValidator验证,以及大量事件和东西的jQuery(总页面是1900行,这就是我没有提供任何代码的原因)

我的表格上都有一个col-xs-8类的div,一切正常。然后我把它改成class=“container”(只是代码上的变化,前后播放了几次),现在Chrome的控制台显示:

Uncaught RangeError: Maximum call stack size exceeded 
为什么?


我已经检查了调用堆栈,那里除了jQuery函数什么都没有(所以它不应该是我或BootstrapValidator启动的东西,是吗?)

我有另一个页面,具有相同的环境、相似的大小和相似的代码-从.col-xs-8到.container的更改没有出现问题


更新:我发现如果我离开主div而没有类,我也会得到RangeError。因此,这里是my JS

如果表单不是由引导类构成的(包含字段和关联标签的元素没有表单组类),您将看到错误:

Uncaught RangeError: Maximum call stack size exceeded

参考:在官方文档中。

bootstrapValidator
功能下提到的所有字段都应该有一个带有
表单组的父字段

所以应该是这样

<div class="form-group">
    <label class="col-lg-3 control-label">No of bottles out for delivery</label>
    <div class="col-lg-5">
        <input type="text" value="" class="form-control" maxlength="3" name="bottles_out_for_delivery">
    </div>
</div>
<div class="form-group">
    <label class="col-lg-3 control-label">No of bottles returned</label>
    <div class="col-lg-5">
        <input type="text" value="" class="form-control" maxlength="3" name="bottles_returned">
    </div>
</div>

“那里只有jQuery函数”,这就是产生错误的原因。我指的是jQuery本身调用的函数,而不是我自己编写的函数;你写过javascript吗?有很多JS(确切地说是jQuery),只有几百行,但问题不在任何一行,直到我将main div的类更改为container,我才发现任何问题。即使是现在,如果我把它改回col-xs-8,它也可以正常工作。我编辑了这篇文章,其中有一个指向我所有JS代码的链接。是的,这就是问题所在。但是将col-xs-8类添加到容器中消除了这个问题,这有点奇怪,可能这样做是出乎意料的,不仅仅是
col-xs-?
,而是针对所有
col-?-?
,BootstrapValidator或使用这些类+
表单组
来获取字段父级以放置错误消息。还有一件事,BootstraoValidator不再受支持,您应该升级到使用由bootstrapValidator的同一作者创建的FormValidation(商业产品)
$('#add_bulk_delivery_form').bootstrapValidator({
    fields: {
        bottles_out_for_delivery: {
            validators: {
                notEmpty: {
                    message: 'Bottles out for delivery field can\'t be empty'
                },
                regexp: {
                    regexp: /^[0-9]+$/,
                    message: 'Bottles out for delivery can only contan numbers'
                }
            }
        }
    }
});