javascript - 为什么我会失去隐藏字段的值?

标签 javascript jquery

我的页面上有一些隐藏字段,除了其中一个之外,所有这些都可以正常工作。我在调用 buildGrid() 之前在 document.ready 中设置值:

 $(document).ready(function() {

    $.ajax(
    {
        type: "POST",
        url: "/CDServices.asmx/GetWeekEndingDates",
        data: "{}",
        dataType: "json",
        contentType: "application/json; charset=utf-8",

        success: function(msg) {

            //store default dates in hidden fields
            $("#<%=hdnCurrentDate.ClientID%>").val(msg.d.CurrentDate);
            $("#<%=hdnLastWeekEndingDate.ClientID%>").val(msg.d.LastWeekEndingDate);
        }
    });

    buildGrid();

});

但是在 buildGrid 中,隐藏字段中的值为空:

 function buildGrid() {

    alert($("#<%=hdnLastWeekEndingDate.ClientID%>").val());

我在单击按钮时调用其他函数,其中隐藏字段值被很好地拾取,为什么该值在这里消失?

最佳答案

您应该在 success 函数中调用 buildGrid()。否则,当请求仍在运行并且您的隐藏字段尚未填充时,它将被调用。

关于javascript - 为什么我会失去隐藏字段的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5118944/

相关文章:

javascript - 如何在 PHP 中启用 ZipArchive?

javascript - 如何避免 useEffect() 竞争条件

jquery - RequireJS - 具有多个 jQuery 版本的 jQuery 插件

javascript - 使用动态数据填充字符串

JQuery Parent() 选择器

jquery - 使用 jquery 检查表单的所有空字段

javascript - 在 Google Sheet 脚本中调用服务器端函数后关闭 HTML 页面

javascript - 是否可以使用reactjs CRA为不同的环境渲染不同的html

javascript - 将数据验证放在客户端和服务器端是否更好?

javascript - 拖放和可排序 jquery 插件之间的冲突