PHP echo输出按钮时绑定的JS onclick点击事件无法生效如何解决
问题根因
你当前已经处于PHP代码的执行上下文内,echo输出的字符串中嵌套的<?php echo $row->id ; ?>属于重复开启PHP解析标签,PHP不会对这部分内容做解析,会直接将这段原生PHP代码原样输出到前端HTML中,导致JS的pindah函数接收到的参数是无效文本,自然无法正常运行。
修复方案
直接在echo的字符串中拼接$row->id变量即可,两种写法都可以:
- 字符串拼接写法(兼容性好,不容易出错)
echo "<th><button id=\"btnPrint\" type=\"button\" class=\"btn btn-primary \" onclick=\"pindah('" . $row->id . "')\">Detail Laptop <span class=\"fa fa-info\"></span></button></th>";
- 双引号变量解析写法(更简洁)
echo "<th><button id=\"btnPrint\" type=\"button\" class=\"btn btn-primary \" onclick=\"pindah('$row->id')\">Detail Laptop <span class=\"fa fa-info\"></span></button></th>";
验证方法
修复后右键查看页面渲染后的源代码,确认按钮的onclick属性已经正确输出了$row->id对应的实际数值,而非原来的<?php echo $row->id ; ?>文本即可。
内容的提问来源于stack exchange,提问作者Noel
相关产品推荐
相关产品推荐

