关于回复功能

ccclDevil 2015-03-16 10:43:15
数据库读取出的回复内容:
$sql="select * from massage where iid=$iid order by mid desc limit $offset,$pagesize";
$result=$db->query($sql);
while (($row=$result->fetch_assoc())!=false) {

echo '<div id="msg">
<table width="800" height="auto" border="0" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF">
<tr>
<th scope="row" width="100" align="center"><strong id="mid">#'.$row["mid"].'</strong><br /><a href="data.php">'.$row["author"].'</a></th>
<td><p id="msgten">'.$row["msg"].'</p><span><a href="#msgcon" onclick="toCopy();">回复</a>'.$row["time"].'</span></td>
</tr>
</table>
</div>';
}


将上面读出来的内容复制到textarea里 :
<script>
function toCopy(){
var midval= document.getElementById("mid").innerHTML;
var msg= document.getElementById("msgten").innerHTML;
document.getElementById("msgcon").value = "回复"+midval+"楼"+"["+msg+"]";
document.getElementById("msgcon").focus();
}
</script>


效果:


问题是 :文本框里显示的永远是数据库读出来的最后一条,也就是第13条,如何做到点哪个回复就把那条复制到框里
...全文
205 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
傲雪星枫 2015-03-18
  • 打赏
  • 举报
回复
傲雪星枫 2015-03-17
  • 打赏
  • 举报
回复
你新提交的寫入庫後,然後會刷新頁面,然後會重新列表。 如果是這個流程是沒問題的。除非你不是用post表單的方式提交,且沒有刷新列表。
ccclDevil 2015-03-17
  • 打赏
  • 举报
回复
引用 10 楼 ccclDevil 的回复:
[quote=引用 9 楼 fdipzone 的回复:] 提交後刷新有什麼問題? 新的留言不能點回覆? 那應該是你留言的內容有特殊字符了。 <script> function toCopy(c){ var midval= document.getElementById("mid"+c).innerHTML; var msg= document.getElementById("msgten"+c).innerHTML; //加一句,看看是否有錯 alert(midval + ' ' + msg); document.getElementById("msgcon").value = "回复"+midval+"楼"+"["+msg+"]"; document.getElementById("msgcon").focus(); } </script>
我运行了几遍,发现只有最后 从数据库输出的那条无效,点回复弹出白框[/quote] 解决了。打开控制台发现最后一条回复的id没有$i,我把$i赋了初值1可以了。
傲雪星枫 2015-03-17
  • 打赏
  • 举报
回复
什麼意思,你新提交留言後,複製到框?
ccclDevil 2015-03-17
  • 打赏
  • 举报
回复
引用 9 楼 fdipzone 的回复:
提交後刷新有什麼問題? 新的留言不能點回覆? 那應該是你留言的內容有特殊字符了。 <script> function toCopy(c){ var midval= document.getElementById("mid"+c).innerHTML; var msg= document.getElementById("msgten"+c).innerHTML; //加一句,看看是否有錯 alert(midval + ' ' + msg); document.getElementById("msgcon").value = "回复"+midval+"楼"+"["+msg+"]"; document.getElementById("msgcon").focus(); } </script>
我运行了几遍,发现只有最后 从数据库输出的那条无效,点回复弹出白框
码无边 2015-03-17
  • 打赏
  • 举报
回复
换个浏览器试试
傲雪星枫 2015-03-17
  • 打赏
  • 举报
回复
提交後刷新有什麼問題? 新的留言不能點回覆? 那應該是你留言的內容有特殊字符了。 <script> function toCopy(c){ var midval= document.getElementById("mid"+c).innerHTML; var msg= document.getElementById("msgten"+c).innerHTML; //加一句,看看是否有錯 alert(midval + ' ' + msg); document.getElementById("msgcon").value = "回复"+midval+"楼"+"["+msg+"]"; document.getElementById("msgcon").focus(); } </script>
ccclDevil 2015-03-17
  • 打赏
  • 举报
回复
引用 4 楼 zy205817 的回复:
换个浏览器试试
好的,我回去试试
ccclDevil 2015-03-17
  • 打赏
  • 举报
回复
引用 6 楼 fdipzone 的回复:
你新提交的寫入庫後,然後會刷新頁面,然後會重新列表。 如果是這個流程是沒問題的。除非你不是用post表單的方式提交,且沒有刷新列表。
我是用podt提交的,提交成功后跳转这个页面确实是刷新了
<form action="massage_save.php" method="post">
                    <div id="msgbox" onmouseover="this.style.borderColor='#2883B0'" 
onmouseout="this.style.borderColor='#CCC'" ><textarea name="msg" cols="107" rows="5" required="required"></textarea></div><br />
                    <input name="submit" type="submit" value="提交" id="button" style="height:40px;color:#FFF;font-size:14px; cursor:pointer"/>
               </form>   
ccclDevil 2015-03-16
  • 打赏
  • 举报
回复
引用 1 楼 fdipzone 的回复:
id="msgten" 你的id重复了,不能这样用的。 修改为这样看看

$sql="select * from massage where iid=$iid order by mid desc limit $offset,$pagesize";
$result=$db->query($sql);
$i = 0;
while (($row=$result->fetch_assoc())!=false) {
     
     echo  '<div id="msg'.$i.'">
               <table width="800" height="auto" border="0" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF">
                    <tr>
                       <th scope="row" width="100" align="center"><strong id="mid'.$i.'">#'.$row["mid"].'</strong><br /><a href="data.php">'.$row["author"].'</a></th>
                       <td><p id="msgten'.$i.'">'.$row["msg"].'</p><span><a href="#msgcon" onclick="toCopy('.$i.');">回复</a>'.$row["time"].'</span></td>
                    </tr>
               </table>
            </div>';

    $i++;
}

<script>
     function toCopy(c){
         var midval= document.getElementById("mid"+c).innerHTML;
         var msg= document.getElementById("msgten"+c).innerHTML;
         document.getElementById("msgcon").value = "回复"+midval+"楼"+"["+msg+"]";
         document.getElementById("msgcon").focus();
     }
</script>
大神,,我新提交的留言为什么不能复制到框里去呀
ccclDevil 2015-03-16
  • 打赏
  • 举报
回复
引用 1 楼 fdipzone 的回复:
id="msgten" 你的id重复了,不能这样用的。 修改为这样看看

$sql="select * from massage where iid=$iid order by mid desc limit $offset,$pagesize";
$result=$db->query($sql);
$i = 0;
while (($row=$result->fetch_assoc())!=false) {
     
     echo  '<div id="msg'.$i.'">
               <table width="800" height="auto" border="0" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF">
                    <tr>
                       <th scope="row" width="100" align="center"><strong id="mid'.$i.'">#'.$row["mid"].'</strong><br /><a href="data.php">'.$row["author"].'</a></th>
                       <td><p id="msgten'.$i.'">'.$row["msg"].'</p><span><a href="#msgcon" onclick="toCopy('.$i.');">回复</a>'.$row["time"].'</span></td>
                    </tr>
               </table>
            </div>';

    $i++;
}

<script>
     function toCopy(c){
         var midval= document.getElementById("mid"+c).innerHTML;
         var msg= document.getElementById("msgten"+c).innerHTML;
         document.getElementById("msgcon").value = "回复"+midval+"楼"+"["+msg+"]";
         document.getElementById("msgcon").focus();
     }
</script>
多谢大神,问题解决
傲雪星枫 2015-03-16
  • 打赏
  • 举报
回复
id="msgten" 你的id重复了,不能这样用的。 修改为这样看看

$sql="select * from massage where iid=$iid order by mid desc limit $offset,$pagesize";
$result=$db->query($sql);
$i = 0;
while (($row=$result->fetch_assoc())!=false) {
     
     echo  '<div id="msg'.$i.'">
               <table width="800" height="auto" border="0" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF">
                    <tr>
                       <th scope="row" width="100" align="center"><strong id="mid'.$i.'">#'.$row["mid"].'</strong><br /><a href="data.php">'.$row["author"].'</a></th>
                       <td><p id="msgten'.$i.'">'.$row["msg"].'</p><span><a href="#msgcon" onclick="toCopy('.$i.');">回复</a>'.$row["time"].'</span></td>
                    </tr>
               </table>
            </div>';

    $i++;
}

<script>
     function toCopy(c){
         var midval= document.getElementById("mid"+c).innerHTML;
         var msg= document.getElementById("msgten"+c).innerHTML;
         document.getElementById("msgcon").value = "回复"+midval+"楼"+"["+msg+"]";
         document.getElementById("msgcon").focus();
     }
</script>

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧