为什么我会丢失隐藏的字段值?

时间:2011-02-25 15:18:21

标签: 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());

我在按钮点击时调用其他功能,其中隐藏的字段值被正确拾取,为什么值会在此处消失?

1 个答案:

答案 0 :(得分:4)

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