关于回复功能
数据库读取出的回复内容:
$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条,如何做到点哪个回复就把那条复制到框里
回复讨论(解决方案)
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>
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>
多谢大神,问题解决
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>
大神,,我新提交的留言为什么不能复制到框里去呀
换个浏览器试试
什?意思,你新提交留言後,??到框?
你新提交的?入?後,然後?刷新?面,然後?重新列表。
如果是??流程是???的。除非你不是用post表?的方式提交,且?有刷新列表。
你新提交的?入?後,然後?刷新?面,然後?重新列表。
如果是??流程是???的。除非你不是用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>
换个浏览器试试
好的,我回去试试
提交後刷新有什????
新的留言不能?回覆?
那??是你留言的?容有特殊字符了。
<script> <br /> function toCopy(c){ <br /> var midval= document.getElementById("mid"+c).innerHTML; <br /> var msg= document.getElementById("msgten"+c).innerHTML; <br /> //加一句,看看是否有? <br /> alert(midval + ' ' + msg); <br /> document.getElementById("msgcon").value = "回复"+midval+"楼"+"["+msg+"]"; <br /> document.getElementById("msgcon").focus(); <br /> } <br /> </script>
提交後刷新有什????
新的留言不能?回覆?
那??是你留言的?容有特殊字符了。
<script> <br /> function toCopy(c){ <br /> var midval= document.getElementById("mid"+c).innerHTML; <br /> var msg= document.getElementById("msgten"+c).innerHTML; <br /> //加一句,看看是否有? <br /> alert(midval + ' ' + msg); <br /> document.getElementById("msgcon").value = "回复"+midval+"楼"+"["+msg+"]"; <br /> document.getElementById("msgcon").focus(); <br /> } <br /> </script>
我运行了几遍,发现只有最后 从数据库输出的那条无效,点回复弹出白框
提交後刷新有什????
新的留言不能?回覆?
那??是你留言的?容有特殊字符了。
<script> <br /> function toCopy(c){ <br /> var midval= document.getElementById("mid"+c).innerHTML; <br /> var msg= document.getElementById("msgten"+c).innerHTML; <br /> //加一句,看看是否有? <br /> alert(midval + ' ' + msg); <br /> document.getElementById("msgcon").value = "回复"+midval+"楼"+"["+msg+"]"; <br /> document.getElementById("msgcon").focus(); <br /> } <br /> </script>
我运行了几遍,发现只有最后 从数据库输出的那条无效,点回复弹出白框
解决了。打开控制台发现最后一条回复的id没有$i,我把$i赋了初值1可以了。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸

使用PHP的cURL库发送JSON数据在PHP开发中,经常需要与外部API进行交互,其中一种常见的方式是使用cURL库发送POST�...

SOLID原则在PHP开发中的应用包括:1.单一职责原则(SRP):每个类只负责一个功能。2.开闭原则(OCP):通过扩展而非修改实现变化。3.里氏替换原则(LSP):子类可替换基类而不影响程序正确性。4.接口隔离原则(ISP):使用细粒度接口避免依赖不使用的方法。5.依赖倒置原则(DIP):高低层次模块都依赖于抽象,通过依赖注入实现。

会话劫持可以通过以下步骤实现:1.获取会话ID,2.使用会话ID,3.保持会话活跃。在PHP中防范会话劫持的方法包括:1.使用session_regenerate_id()函数重新生成会话ID,2.通过数据库存储会话数据,3.确保所有会话数据通过HTTPS传输。
