首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

asp.net jquery有关问题

2013-09-13 
asp.net jquery问题html xmlnshttp://www.w3.org/1999/xhtmlhead runatservertitle/titles

asp.net jquery问题


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>
    <script>

        function aa() {
            $.post("Handler1.ashx", {}, function (date) {
                $("#st").val('1');
            });
            alert($("#st").val());
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <a onclick="aa();">adsfasf</a>
    <input runat="server" type="hidden" id="st" />
    </div>
    <asp:Button ID="Button1" runat="server" OnClientClick="aa();"  Text="Button" />
    </form>
</body>
</html>alert($("#st").val());第一次alert为空,第二次才有值,什么情况,怎么解决呢?

[解决办法]
 function aa() {
            $.post("Handler1.ashx", {}, function (date) {
                $("#st").val('1');
            });
            alert($("#st").val());
        }
=>
 function aa() {
            $.post("Handler1.ashx", {}, function (date) {
                $("#st").val('1');


                alert($("#st").val());
            });
        }

[解决办法]

引用:
 function aa() {
            $.post("Handler1.ashx", {}, function (date) {
                $("#st").val('1');
            });
            alert($("#st").val());
        }
=>
 function aa() {
            $.post("Handler1.ashx", {}, function (date) {
                $("#st").val('1');
                alert($("#st").val());
            });
        }

+1

[解决办法]
guwei4037正解

因为POST是异步的(ajax的第一个a就是异步(async)的意思)
所以,POST还没有返回就执行到你的alert了。
[解决办法]
异步执行啦~~~
[解决办法]
楼主可以结贴了···
[解决办法]
jquery ajax 默认情况下异步
[解决办法]
function aa() {
           var St_val;
            $.post("Handler1.ashx", {}, function (date) {
               St_val= $("#st").val('1');
              
            });
           alert(St_val);
        }

这样应该有值把。
[解决办法]

引用:

function aa() {
           var St_val;
            $.post("Handler1.ashx", {}, function (date) {
               St_val= $("#st").val('1');
              
            });
           alert(St_val);
        }

这样应该有值把。

这样我猜没有。
[解决办法]
我这有个说法   在head中的<script> 标签 与<body>标签 加载的时间上有差异  导致JS代码运行的时候 html还没有加载 so  找不到

热点排行