请问我input提交后,通过ajax,只想刷新页面table的部分,ajax返回的是一个多行tr的html吗? 然后通过javascipt删掉原来的所有tr,再加入新的tr是这样吗,不太理解这个机制? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当然可以,只要覆盖 tbody 就可以了但不知道你想做什么 自己写回调函数是什么意思? 这个方法是不用覆盖 tbody 是吗 数据由php返回后,你要自己用Js写Ajax的回调函数。简单点说ajax成功获取到了服务器端的数据,也就是你所说的多行<tr>。现在你要写个函数,来处理返回的数据。xmlhttp.onreadystatechange = function (){ if (xmlhttp.readyState==4 && xmlhttp.status==200) { // 服务器成功返回数据 var old_table = document.getElementByTagName('table')[0]; old_table.innerHTML = xmlhttp.responseText; // 将原来的table内容更换 }}参考:http://www.w3school.com.cn/htmldom/prop_tablerow_innerhtml.asp 貌似楼主没把问题叙述清楚!楼主是想做ajax异步刷新页面。还是在刷新的时候添加一行数据??? test.html<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.6/jquery.js"></script> </head><table><thead> <tr> <th>Month</th> </tr> </thead> <tfoot> <tr> <td>Sum</td> </tr> </tfoot> <tbody id="content"></tbody></table><body> <input type="button" id="submit" value="提交"><script type="text/javascript"> $("#submit").click(function(){ $.ajax({url: 'p.php', type: 'GET', dataType: 'html', timeout: 1000, error: function(){alert('Error');}, success: function(result){ $("#content").html(result); } }); return false; }); </script></body></html>p.php<?phpexit("<tr><td>1</td></tr><tr><td>12</td></tr><tr><td>13</td></tr><tr><td>14</td></tr><tr><td>15</td></tr>");也可以不返回html,返回json到浏览器,用js重组 我明白了, 所谓异步刷新就是通过ajax返回数据给table,替换原来table中的数据, 而不是想象中的直接重载刷新table数据 , 是这样吧? zy205817啥意思啊?所谓异步刷新就是通过ajax返回数据给table,替换原来table中的数据, 而不是想象中的直接重载刷新table数据, 这样理解对不对? 如果数据量非常大,还要不要用ajax呢 使用 ajax 的目的是为了有较好的用户体验再者说,你觉得是重新载入整个页面快呢,还是只载入一部分快? 恩 xuzuning没明白我意思 我意思是实际ajax不是重新载入了table数据,而是通过回调函数替换了table原来数据是这样吧? 这位大哥貌似在php论坛很有名气啊, 人家一般怎么称呼你呢? 你的理解不完整ajax 可将服务器返回的 HTML 代码 赋值给目标的 innerHTML也可以将返回的数据(xml、json)通过代码逐个赋值予目标具体使用哪种方式,就看你的喜好了 小声的:“怪蜀黍”别说我告诉你的啊...CSDN镇坛之宝 体能 99 法术 99 如果一个页面仅有一个table,插入数据刷新,ajax还得装入XMLHttpRequest,还得把responseText赋值给table , 效率是不是不如直接form提交啊? 别担心那点效率了,那是在客户端完成的事情.关键是用户体验比你提交个form 然后刷新整个页面强多了. phpMyAdmin-3.x 版本是不是 只能用在PHP5 MYSQL 5 或者更高的版本上??? 在smarty中怎么用function apache不显示测试页面 有关SupeSite6.0调用数据库问题 php+access写的程序怎么才能把数据库改成mysql的 关于读取目录中文件的问题 学PHP半年了,还不会手写HTML代码,是不是很差? 怎么用PHP写接口! 怎么样根据文件类型的输出内容? php文件点击链接时在URL中总是有PHPSESSID=% 如何取消Session Id号跟在后面 求一个效果:弹出下载对话框并打开一个下载成功提示页面 各种函数分开放置还是合在一起
但不知道你想做什么
xmlhttp.onreadystatechange = function (){
if (xmlhttp.readyState==4 && xmlhttp.status==200) { // 服务器成功返回数据
var old_table = document.getElementByTagName('table')[0];
old_table.innerHTML = xmlhttp.responseText; // 将原来的table内容更换
}
}
参考:http://www.w3school.com.cn/htmldom/prop_tablerow_innerhtml.asp
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.6/jquery.js"></script>
</head>
<table>
<thead>
<tr>
<th>Month</th>
</tr>
</thead> <tfoot>
<tr>
<td>Sum</td>
</tr>
</tfoot> <tbody id="content"></tbody></table>
<body>
<input type="button" id="submit" value="提交">
<script type="text/javascript">
$("#submit").click(function(){
$.ajax({url: 'p.php',
type: 'GET',
dataType: 'html',
timeout: 1000, error: function(){alert('Error');}, success: function(result){
$("#content").html(result);
} });
return false;
});
</script>
</body>
</html>
p.php<?php
exit("<tr><td>1</td></tr><tr><td>12</td></tr><tr><td>13</td></tr><tr><td>14</td></tr><tr><td>15</td></tr>");
也可以不返回html,返回json到浏览器,用js重组
这位大哥貌似在php论坛很有名气啊, 人家一般怎么称呼你呢?
ajax 可将服务器返回的 HTML 代码 赋值给目标的 innerHTML
也可以将返回的数据(xml、json)通过代码逐个赋值予目标具体使用哪种方式,就看你的喜好了
小声的:“怪蜀黍”别说我告诉你的啊...CSDN镇坛之宝
体能 99 法术 99
table , 效率是不是不如直接form提交啊?
关键是用户体验比你提交个form 然后刷新整个页面强多了.