Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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 函数调用中的函数中的函数未捕获错误:最大调用堆栈超过_Javascript_Jquery_Asp.net Mvc 3 - Fatal编程技术网

Javascript 函数调用中的函数中的函数未捕获错误:最大调用堆栈超过

Javascript 函数调用中的函数中的函数未捕获错误:最大调用堆栈超过,javascript,jquery,asp.net-mvc-3,Javascript,Jquery,Asp.net Mvc 3,当我从函数中调用我的函数时,jquery中的代码有问题。它显示一条循环警报消息和一个错误,上面写着“未捕获错误:最大堆栈调用超过” 这是我的密码: @html: <div class="main"> @using (Html.BeginForm("AvailabilitySave", "Worker", FormMethod.Post, new { id = "AvailabilityForm" })) { <inpu

当我从函数中调用我的函数时,jquery中的代码有问题。它显示一条循环警报消息和一个错误,上面写着“未捕获错误:最大堆栈调用超过”

这是我的密码:

@html:

<div class="main">
        @using (Html.BeginForm("AvailabilitySave", "Worker", FormMethod.Post, new { id = "AvailabilityForm" }))

        {

            <input type="hidden" id="availabilityId" name="workerId" value="@workerId" />

          <p>
                    <label for="dllAvailableDay">
                        <abbr title="This is a required field.">
                            <em><font color="red">*</font></em></abbr>
                        Available Day</label>
                    <span>
                        @Html.DropDownList("dllAvailableDay", new SelectList(ViewBag.availableDayList, "ID", "Display_Value", workerAvailableDay), "[Please Select]",
              new Dictionary<string, object>
                    {
                        {"class","validate[required] inputLong"}
                    })
                    </span>
                </p>
                <p>
                    <label for="TpStartTime">
                        <abbr title="This is a required field.">
                            <em><font color="red">*</font></em></abbr>
                        Start Time</label>
                    <span>
                        <input id="tpStartTime" name ="tpStartTime" value="@workerStartTime" 
                               style="padding:0 0 0 0 !important" />
                    </span>
                </p>

                <p>
                    <label for="TpEndTime">
                        <abbr title="This is a required field.">
                            <em><font color="red">*</font></em></abbr>
                        End Time</label>
                    <span>
                        <input id="tpEndTime" name ="tpEndTime" value="@workerEndTime" 
                                style="padding:0 0 0 0 !important"/>
                    </span>
                  </p>
    <p>
                    <label>
                        Anytime</label>
                    <span>
                        <input type="checkbox" name="chAnytime" id="chAnytime" value="true" checked="checked" />
                    </span>
                </p>
                <p>
                    <span>
                        <input type="submit" id="addAvailBtn" class="styledButton" value="Add" />
                    </span>
                </p>
}
</div>
我的情况是,当您单击“提交”按钮时,我想放置一条消息,但它不会保存以防止重复输入

请帮我解决这个问题


谢谢

您确定这是触发堆栈爆炸的代码吗?这里似乎没有什么东西能触发它。您能提供一个堆栈爆炸的JSFIDLE吗?谢谢这里唯一的嫌疑犯是
$(this).focus()-您是否有关注这些元素的侦听器,这些元素可能会使脚本陷入循环?@pawel我没有,先生。当我的剑道网格中有相同的数据时,警报消息会循环出现。例如,如果我的网格中有3个具有相同值的数据,当我添加具有相同值的新数据时,警报消息会弹出3次。请提供发生此情况的JSIDLE或url,以便我们可以对其进行调试。我无法提供JSIDLE,因为我的数据库。。。我无法链接它
$("#AvailabilityForm").on('submit', function (e) 
    {
        var gvDetDDLs = $('#availabilityGrid').find("input[name=dllEditAvailableDay]");
        $.each(gvDetDDLs, function () {
            var duplicateExists = false;
            var ddlDay = $("#dllAvailableDay option:selected").text();

            var currVal = $(this).val();
            gvDetDDLs.not(this).each(function () {
                e.stopPropagation();
                if (ddlDay == currVal) {
                    duplicateExists = true;
                    alert("Duplicate entry is not allowed");
                    $(this).focus();
                    return false;
                }
            }
                );
        }
        );
        return true;

    }
);