用Ajax实现不刷新页面修改内容

趁今天有空,就学习了Ajax,在Ajax in action那本书里提到了SAjax,就去下来看看,果然功能强大,让编写Ajax代码变的很简单,于是就写了个“修改内容不刷新页面”的代码,这个功能在网上以前是到处看到,今天终于自己实现了个,代码里有了PHP5的DOM函数,由于这个Blog空间只支持PHP4,所以也就没法在这里运行了。

XML文件,代码从这个文件中读取并在修改后写入到该文件

下载: test.xml
  1. <?xml version="1.0"?>
  2. <test>
  3. <value>编辑文本</value>
  4. </test>

以下是代码:

下载: text.php
  1. <?php
  2.  require("Sajax.php");
  3.  
  4.  
  5.   function showxml(){   //从test.xml读取,参考PHP DOM
  6.     $doc=new DOMDocument();
  7. $doc->load("test.xml");
  8. $hello=$doc->getElementsByTagName("value")->item(0)->nodeValue;
  9. return $hello;
  10.   }
  11.  
  12.   function changexml($text){ //写入到test.xml文件
  13.     $doc=new DomDocument();
  14. $doc->load("test.xml");
  15. $doc->getElementsByTagName("value")->item(0)->nodeValue=$text;
  16. $doc->save("test.xml");
  17. $hello=$doc->getElementsByTagName("value")->item(0)->nodeValue;
  18. return $hello;
  19.   }
  20.  
  21.   sajax_init();
  22.   $sajax_debug_mode=0; //关闭调试信息
  23.   sajax_export("showxml","changexml");  //sajax输出showxml,changexml两个js函数
  24.   sajax_handle_client_request();  //sajax对客户端响应后的处理
  25.  
  26. ?>
  27.  
  28. <html>
  29. <head>
  30. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  31.  
  32. <script language="javascript">
  33. <?php sajax_show_javascript(); ?> //sajax输出ajax代码及sajax_export的两个函数
  34.  
  35. function show(text){
  36. document.getElementById("hello").innerHTML=text;
  37. }
  38.  
  39. function showxml(text){   
  40.     x_showxml(text,show);  //由sajax输出的showxml函数,默认在原函数名前加了"x_"
  41. }
  42.  
  43. function changexml(text){ 
  44.     x_changexml(text,show)  //原PHP的changexml函数
  45.  
  46. }
  47.  
  48. var span,input;
  49.  
  50. function  edit(){
  51. span=document.getElementById("hello");
  52. input=document.createElement("input");
  53. input.setAttribute("type","text");
  54. input.setAttribute("id","input");
  55. input.setAttribute("value",span.innerHTML);
  56. document.body.replaceChild(input,span);
  57. }
  58.  
  59. function save(){
  60. changexml(input.value);
  61. document.body.replaceChild(span,input);
  62. }
  63.  
  64. </script>
  65.  
  66. <title>sajax Test....</title>
  67. </head>
  68. <body onLoad="showxml()">
  69.  
  70. <span id="hello"   onClick="edit()">loading...</span>
  71. <p>点击上面的文本即可修改,实现不刷新页面修改内容并显示</p>
  72. <input type="button"  name="hello" value="修改"  onClick="save()">
  73.  
  74.  
  75. </body>
  76. </html>
Tags: , , , , ,   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值