如何在onclick函数中传递3个PHP变量参数?
解决方法:在onclick中传递多个PHP变量参数
嘿,你可以直接利用循环里的$message数组,把三个参数直接传递给JS函数,不需要依赖隐藏的input(当然如果有特殊需求也可以用隐藏input,下面两种方法都给你):
方法1:直接传递PHP变量(最简洁)
既然你在循环中已经能访问$message['id']、$message['threadId']和$message['otherUserRoleId'],直接把这三个值作为参数传入InboxDetailsPage函数就行:
修改你的<a>标签的onclick部分:
<a type="button" data-toggle="modal" data-target="#myModalq1" class="btn btn-success " onclick="InboxDetailsPage('<?php echo $message['id']; ?>', '<?php echo $message['threadId']; ?>', '<?php echo $message['otherUserRoleId']; ?>')">VIEW</a>
然后对应的JS函数需要定义三个参数来接收:
function InboxDetailsPage(messageId, threadId, recipientId) { // 在这里使用这三个参数处理逻辑,比如: console.log('Message ID:', messageId); console.log('Thread ID:', threadId); console.log('Recipient ID:', recipientId); // 你的其他代码... }
方法2:通过隐藏input获取参数(如果需要从DOM读取)
如果因为某些原因你必须用页面上的隐藏input来获取值,可以在onclick里先获取这两个隐藏元素的值,再传递:
修改后的<a>标签:
<a type="button" data-toggle="modal" data-target="#myModalq1" class="btn btn-success " onclick=" const msgId = '<?php echo $message['id']; ?>'; const threadId = document.getElementById('threadId-' + msgId).value; const recipientId = document.getElementById('recipientId-' + msgId).value; InboxDetailsPage(msgId, threadId, recipientId) ">VIEW</a>
对应的JS函数和方法1一样,接收三个参数即可。
完整修改后的代码片段
这里是你循环中<tr>部分的完整修改(用方法1的话,顺便合并了重复的样式判断让代码更简洁):
<tr class="gradeA odd inbox"> <td class="" style="padding-bottom: 1px; <?php echo $message['status'] == MessageStatusEnum::UNREAD ? 'color:#E55B43;' : 'color:#000;' ?>"><?php echo $message['date']; ?></td> <td class="" style="padding-bottom: 1px; <?php echo $message['status'] == MessageStatusEnum::UNREAD ? 'color:#E55B43;' : 'color:#000;' ?>"><?php echo $message['fromName']; ?></td> <td class=" " style="padding-bottom: 1px; width:300px !important; <?php echo $message['status'] == MessageStatusEnum::UNREAD ? 'color:#E55B43;' : 'color:#000;' ?>"><?php echo $message['subject'] ?></td> <td class="" style="padding-bottom: 1px;"> <a type="button" data-toggle="modal" data-target="#myModalq1" class="btn btn-success " onclick="InboxDetailsPage('<?php echo $message['id']; ?>', '<?php echo $message['threadId']; ?>', '<?php echo $message['otherUserRoleId']; ?>')">VIEW</a> </td> </tr>
内容的提问来源于stack exchange,提问作者Rosh
相关产品推荐
相关产品推荐

