我正在创建一个论坛,用户可以在其中编辑他们的帖子。我不知道该怎么做,但我尝试了如下方法:
用于显示帖子的 PHP 代码
while($row = $result->fetch_assoc()) {
echo "<div class='postclass'>";
echo "<span id='postspan".$row['id']."' name='postspan".$row['id']."' >";
echo "<span id='editspan".$row['id']."' name='editspan".$row['id']."' >";
echo "</br>";
echo "Posted By:          <span class='bold'> ".$row['user']."</span>";
if($username==$row['user']){
echo "         ";
echo "<a href='javascript:void(0);' onclick='deletepost(".$row['id'].")' >DELETE </a>   ";
echo "<a href='javascript:void(0)' onclick='editpost(".$row['id'].",'".$row['subject']."','".$row['post']."')' >EDIT </a></br>";
}else{
echo "</br>";
}
单击编辑链接时调用的JavaScript函数
function editpost(postid,subject,post){
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("editspan"+postid).innerHTML=xmlhttp.responseText;
}
};
xmlhttp.open("GET","editpost.php?pid="+postid+"&subject="+subject+"&post="+post,true);
xmlhttp.send();
}
编辑帖子.php页面
$pid=$_GET['pid'];
$subject=$_GET['subject'];
$post=$_GET['post'];
}else{
$pid="";
$subject="";
$post="";
}
echo "<form method='POST' action='globalwall.php'>
<p>Subject:
<label for='subject'></label>
<input type='text' name='subject' id='subject' value='".$subject."' />
</br>
</p>
<p>Post: <br />
<label for='post'></label>
<textarea name='post' id='post' cols='45' rows='5' value='".$post."'></textarea>
</p>
<p>
<input type='submit' name='postbutton' id='postbutton' value='Edit' />
</p>
</form>";
当我单击编辑按钮时,没有任何反应。即使我在javascript函数中放置了警报消息,它也不会弹出。谁能帮忙?
替换您的
echo "<a href='javascript:void(0)' onclick='editpost(".$row['id'].",".$row['subject'].",".$row['post'].")' >EDIT </a></br>";
行与
echo "<a href='javascript:void(0)' onclick='editpost(".$row['id'].","".$row['subject']."","".$row['post']."")' >EDIT </a></br>";