我有从数据库中提取的以下一组表行
echo "<td value='".$id."' style='border:double' bgcolor='" . getcolour($catc) . "' onclick = 'addValue(this.value);'>$id</td>";
这实际上是一组框,$ id = $ row ['id']是附加到每个框的数字。我希望机制就像当用户点击框时,附加到它的数字应该回显在网页上的特定位置。 MySql查询和其他一切正常我有ajax代码理解的问题,我想是这样。
<script>
function valueAdd(str)
{
if (str=="")
{
document.getElementById("seats").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("seats").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ceckbus.php?q="+str,true);
xmlhttp.send();
}
</script>
等着你帮助大家!!
答案 0 :(得分:0)
首先,我建议您使用javascript库以使用Ajax,并避免尝试自行修复兼容性问题。例如,您可以使用jquery.com,现在它非常标准。
对于问题部分,请查看您的回信代码,在addValue(this.value)中出现错误;&#39;
我可以理解这个问题,您希望click事件具有$ id。一个简单的解决方法是使用innerHTML属性,而不是.value:
echo "<td value='".$id."' style='border:double' bgcolor='" . getcolour($catc) . "' onclick = 'addValue(this.innerHTML);'>$id</td>";
或更好的回声你可以直接将值传递给addValue函数,例如:
echo "<td value='".$id."' style='border:double' bgcolor='" . getcolour($catc) . "' onclick = 'addValue(\"" . $id . "\");'>$id</td>";