我从一个php mysql服务器中提取搜索数据,并希望将其显示在表格中。这是我到目前为止所编写的代码。
function getrows(page, parameters, element_id)
{
if (parameters.length==0)
{
document.getElementById(element_id).innerHTML="";
return;
}
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById(element_id).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET",page + "?" + parameters,true);
xmlhttp.send();
}
<table style="text-align: left; width: 0%; margin-left: auto; margin-right: auto;" border="1" cellpadding="2" cellspacing="0">
<tbody>
<tr style="background-color:#d0e4fe;">
<td>First Name:</td>
<td>Last Name:</td>
<td>Date of Birth:</td>
<td>Phone Number:</td>
<td>Action:</td>
</tr>
<tr>
<td><input onkeyup="getrows('actions/search_member.php', 'first_name=' + getvalue('first_name') + '&last_name=' + getvalue('last_name') + '&birth_date=' + getvalue('birth_date') + '&home_phone=' + getvalue('home_phone'), 'search');" name="first_name"></td>
<td><input onkeyup="getrows('actions/search_member.php', 'first_name=' + getvalue('first_name') + '&last_name=' + getvalue('last_name') + '&birth_date=' + getvalue('birth_date') + '&home_phone=' + getvalue('home_phone'), 'search');" name="last_name"></td>
<td><input onkeyup="getrows('actions/search_member.php', 'first_name=' + getvalue('first_name') + '&last_name=' + getvalue('last_name') + '&birth_date=' + getvalue('birth_date') + '&home_phone=' + getvalue('home_phone'), 'search');" name="birth_date"></td>
<td><input onkeyup="getrows('actions/search_member.php', 'first_name=' + getvalue('first_name') + '&last_name=' + getvalue('last_name') + '&birth_date=' + getvalue('birth_date') + '&home_phone=' + getvalue('home_phone'), 'search');" name="home_phone"></td>
<td></td>
</tr>
<div id="search"></div>
</tbody>
search_member.php根据以此格式输入的内容返回5个成员的列表:
<tr>
<td>data</td>
<td>data</td>
<td>data</td>
<td>data</td>
<td>data</td>
</tr>
search_member.php工作我测试过它。正如你所看到的那样,我试图将这些数据用innerHTML转换为id为“search”的div。我认为它不起作用,因为div不能进入表格。我已经使用了js insertRow和jquery,但是当你输入时,返回的数据形式与search_member.php不同,每次js insertRow和jquery只是不断添加行,你得到500行。我只需要一种方法,它在最后一次&lt;之后插入为search_member.php返回的数据。 / TR&GT;在我的桌子里。
感谢您的帮助。
答案 0 :(得分:1)
评论几乎暗示了它,但无论如何:我认为没有理由为什么第一行在搜索之间不应该完好无损。它看起来像是使用thead
:
<thead>
<tr style="background-color:#d0e4fe;">
<td>First Name:</td>
<td>Last Name:</td>
<td>Date of Birth:</td>
<td>Phone Number:</td>
<td>Action:</td>
</tr>
</thead>
<tbody id="result-rows">
<!-- the area which is populated by rows -->
</tbody>
使用多个tbody
元素是有效的HTML5 / XHTML,但在这种情况下,恕我直言。当element_id
设置为“结果行”时,这会正常工作(请注意+=
):
document.getElementById(element_id).innerHTML += xmlhttp.responseText;