使用html中的按钮onclick将php数组发送到javascript函数
Posted
技术标签:
【中文标题】使用html中的按钮onclick将php数组发送到javascript函数【英文标题】:Sending php array to a javascript function with button onclick in html 【发布时间】:2022-01-23 17:43:56 【问题描述】:也许有点混乱。
我有一个数据表。在这个数据表中,最后有一个编辑按钮。单击编辑按钮打开一个模式。我想将此数据表中的数据传递给模态。我可以将其作为单个变量发送,但是当我想将数据转换为数组并将其丢弃时,会出现错误。
我的桌子:
<td><input type="text" value="<?= $datt['a']; ?>" id ="a" class="form-control"/> </td>
<td><input type="text" value="<?= $datt['b']; ?>" id ="b" class="form-control"/> </td>
<td><input type="text" value="<?= $datt['c']; ?>" id ="c" class="form-control"/> </td>
<? $arry = array(
"a" => $datt['a'],
"b" => $datt['b'],
"c" => $datt['c']); ?>
<td><button id="updd" class="btn btn-success updd" data-toggle="modal" data-target="#updd" onclick="show_fun(<?= $arr ?>)">Edit</button></td>
JS函数:
function show_fun(datt)
$(document).on("click", ".updd", function (e)
var obj = datt;
console.log(datt);
);
结果:
Array() [本机代码]
我还发送了带有 json_encode 的数组。
我试过了
onclick="show_fun(<?= $arr ?>)"
而不是
onclick="show_fun(<?= json_encode($arr) ?>)"
结果:
未定义
如何向模态发送数据?
【问题讨论】:
您不能回显数组。在回显之前尝试使用json_encode
对其进行正确编码
好吧 datt
未定义。 dat
已定义
【参考方案1】:
您不需要内部点击侦听器。在 html 中:
<button ... onclick="show_fun(<?= json_encode($arr); ?>);" />
在 JS 中:
function show_fun(dat)
console.log(dat);
【讨论】:
这并不完全是解决方案。我需要使用 htmlspecialchars(json_encode($arr)) 而不是 json_encode($arr)。谢谢。以上是关于使用html中的按钮onclick将php数组发送到javascript函数的主要内容,如果未能解决你的问题,请参考以下文章
div 项目的 php onclick 将帖子发送到 url