免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4170 | 回复: 5
打印 上一主题 下一主题

xajax中addScript如何返回变量值给javascript代码 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-10 14:07 |只看该作者 |倒序浏览
<?php include("../includes/xajax.inc.php");
function returnValue($number){
        $number=($number*2);
        $objResponse=new xajaxResponse();
        $objResponse->addScript("var result='".$number."'");
        return $objResponse->getXML();
}
$xajax=new xajax();
$xajax->registerFunction("returnValue");
$xajax->processRequests();
?>
<html><head>
<?php $xajax->printJavascript("../includes/");?>
</head>
<body>
<script language="javascript">
        xajax_returnValue(2);
        alert(result);
</script>
</body></html>

没反应,怎么解决?

论坛徽章:
0
2 [报告]
发表于 2007-03-10 17:07 |只看该作者

.

或者
<?php include("../includes/xajax.inc.php");
$_SESSION["number"]=2;
function returnValue($number){
        $number=($number*2);
        $_SESSION["number"]=$number;
        $objResponse=new xajaxResponse();
        return $objResponse->getXML();
}
$xajax=new xajax();
$xajax->registerFunction("returnValue");
$xajax->processRequests();
?>
<html><head>
<?php $xajax->printJavascript("../includes/");?>
</head>
<body>
<script language="javascript">
        xajax_returnValue(2);
        alert('<?php echo $_SESSION["number"]?>');
</script>
</body></html>

这里的 $_SESSION["number"]并没改变,还是2

论坛徽章:
0
3 [报告]
发表于 2007-03-11 05:26 |只看该作者
使用ajax 是要异步提交的

[ 本帖最后由 moqiruyi 于 2007-3-11 07:00 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2007-03-11 06:26 |只看该作者
下面使用XAJAX_0.2.4版本
演示addScript

  1. <?php
  2. require_once "xajax.inc.php";
  3. function returnValue($number){
  4.         $number=($number*2);
  5.         $objResponse=new xajaxResponse();
  6.         $objResponse->addScript("msg('".$number."');");
  7.         return $objResponse->getXML();
  8. }
  9. $xajax=new xajax();
  10. $xajax->registerFunction("returnValue");
  11. $xajax->processRequests();
  12. ?>
  13. <html><head>
  14. <?php $xajax->printJavascript();?>
  15. <script type="text/javascript">
  16. function msg(msg){
  17.         alert(msg);
  18. }
  19. </script>
  20. </head>
  21. <body>
  22. <input name="num" id="num" type="text" size="5" maxlength="5" onChange="xajax_returnValue(document.getElementById('num').value);return false;">
  23. </body>
  24. </html>
复制代码

[ 本帖最后由 moqiruyi 于 2007-3-11 06:53 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2007-03-15 15:22 |只看该作者

.


xajax用于触发事情是可以的
比如addScript(alert());
addScript(form.submit());

但传回值就不行了

论坛徽章:
0
6 [报告]
发表于 2007-03-15 15:31 |只看该作者

.

<?php
require_once "../includes/xajax.inc.php";
function returnValue($number){
        $number=($number*2);
        $objResponse=new xajaxResponse();
        $objResponse->addScript($number);
        return $objResponse->getXML();
}
$xajax=new xajax();
$xajax->registerFunction("returnValue");
$xajax->processRequests();
?>
<html><head>
<?php $xajax->printJavascript("../includes/");?>
<script type="text/javascript">
function get(msg){
        str=xajax_returnValue(msg);
                alert(str);
}
</script>
</head>
<body>
<input name="num" id="num" type="text" size="5" maxlength="5" onChange="get(document.getElementById('num').value);return false;">
</body>

这样跳出来的不是数值,而是true
</html>
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP