如果想獲得$.ajax()中返回的值,直接用在success:funciton(){return xx} 是不可以的,要想獲得xx的值,要在script中,使用全局變量。利用全局變量引出xx的值。
jquery 取得$.ajax事件中的返回值,並添加事件
代碼如下:
<html>
<head>
<title>測試JQUERY提交動態文本</title>
<script language="javascript" src="jquery.js"></script>
<script language="javascript">
$(function(){ //引用的jquery文件我就不上傳了,大家應該都有的。
$("#a1").clone().appendTo("#ap");
var a=""; //定義全局變量 a;
txtadd();
alert(a); //測試全局變量是否有值;
$("#tall").blur(function(){ alert("測試一下"); }); //添加一個從同步事件裡返回文本框的blur事件
$("#a1").blur(function(){ alert("本頁面事件!"); });//注意,clone出來的a1文本框不具有blur事件;
function txtadd(){
$.ajax({
async:false, //使用同步請求,因為異步請求不能將返回值傳給全局變量;
type:"post",
url:"autotxt.php",
data:{txtid1:1,txtid2:2},
beforeSend:function(){$("#tt").html("數據加載中。。。")},
success:function(data){$("#tt").html(decodeURI(data)); //autotxt.php返回值<input name='tall' id='tall' value='dc' maxlength='6'/>;
a=$("#tall").val(); //將返回值做處理給全局變量
}
});
}
})
</script>
</head>
<body>
<form action="autotxt.php" method="post">
<div id="tt"></div>
<div id="ap"></div>
<input type="text" id="a1" name="a1" value="測試" />
<input type="hidden" id="ok" name="ok" value="ok" />
<input type="submit" value="確定" />
</form>
</body>
</html>