Как я могу передать 3 параметра в функции onclick. Параметры находятся внутри тега php - PullRequest
0 голосов
/ 19 мая 2018

Это моя функция onclick:

onclick="InboxDetailsPage('<?php echo $message['id']; ?>')

Это мои параметры: threadid, recipient id и message id

<input type="hidden" id="threadId-<?php echo $message['id']; ?>" value="<?php echo $message['threadId']; ?>"/>
<input type="hidden" id="recipientId-<?php echo $message['id']; ?>" value="<?php echo $message['otherUserRoleId']; ?>"/>
<?php echo $message['id']; ?>

Здесь я используюмоя функция onclick:

<div class="inbox">
    <?php $inboxno = 0;
    foreach ($messageList as $message) { ?>
        <?php if ($message['toFromLabel'] == "From") {
            $inboxno++; ?>
            <input type="hidden" id="threadId-<?php echo $message['id']; ?>" value="<?php echo $message['threadId']; ?>"/>
            <input type="hidden" id="recipientId-<?php echo $message['id']; ?>" value="<?php echo $message['otherUserRoleId']; ?>"/>
            <tr class="gradeA odd inbox">
                <td class="" style="padding-bottom: 1px;" <?php if ($message['status'] == MessageStatusEnum::UNREAD){ ?>style="color:#E55B43;" <?php } else { ?>style="color:#000;" <?php }; ?>><?php echo $message['date']; ?></td>
                <td class="" style="padding-bottom: 1px;" <?php if ($message['status'] == MessageStatusEnum::UNREAD){ ?>style="color:#E55B43;" <?php } else { ?>style="color:#000;" <?php }; ?>><?php echo $message['fromName']; ?></td>
                <td class=" " style="padding-bottom: 1px;" <?php if ($message['status'] == MessageStatusEnum::UNREAD){ ?>style="color:#E55B43;" <?php } else { ?>style="color:#000;" <?php }; ?> style="width:300px !important"><?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']; ?>') ">VIEW</a></td>
            </tr>
        <?php }
    } ?>
</div>

Ответы [ 5 ]

0 голосов
/ 19 мая 2018

Другим вариантом может быть JSON-кодирование массива опций и отправка параметров, чтобы избежать длинного списка параметров и предпочтения читабельности.

$params=[
   'thread_id'=>$message['thread_id'],
   'recipient_id'=>$message['recipient_id'],
   'id'=>$message['id']
];

<input type="text" onclick="InboxDetailsPage('<?=json_encode($params)?>')">

, а затем использовать его

function InboxDetailsPage(options){
     console.log(options.thread_id,options.recipient_id,options.id);
}
0 голосов
/ 19 мая 2018
onclick="InboxDetailsPage(
    '<?php echo $message['id'];?>', 
    '<?php echo $message['id'];?>', 
    '<?php echo $message['id'];?>'
)
0 голосов
/ 19 мая 2018

Вы можете попробовать следующее:

onclick="InboxDetailsPage("<?php echo $message['id'];?>","threadId-<?php echo $message['id']; ?>","recipientId-<?php echo $message['id']; ?>")
0 голосов
/ 19 мая 2018

Вы можете использовать этот метод:

    <a href="#" onclick="myFunction('parameter1', 'parameter', 'parameter3');">click me</a>
<script>
    function myFunction(parameter1, parameter2, parameter3) {
      alert(parameter1);
    }
</script>
0 голосов
/ 19 мая 2018

Вы можете сделать следующий формат:

onclick="InboxDetailsPage('<?php echo $message['id'];?>', '<?php echo $message['id'];?>', '<?php echo $message['id'];?>')

В качестве альтернативы , используя только одно эхо:

onclick="InboxDetailsPage(<?php echo "'{$message['id']}', '{$message['date']}', '{$message['id']}'";?>)
...