我正在尝试通过以下操作将我的PHP数组(对象)传递到我的javascript函数中:
<td>
<a href="#do=View?id=<?php echo $row['id']; ?>" onClick="manageFormView(1, <?php echo json_encode($test) ;?>)"><i class="fas fa-eye cyan-text"></i></a>
<a href="#do=Edit?id=<?php echo $row['id']; ?>" ><i class="fas fa-pencil-alt blue-grey-text"></i></a>
<a href="#do=Delete?id=<?php echo $row['id']; ?>"><i class="fas fa-trash red-text"></i></a>
</td>
我担心的是,每当执行我的manageFormView
函数时,它都会给我以下日志:
Uncaught SyntaxError: Unexpected end of input
,来源是:
<a href="#do=View?id=1" onClick="manageFormView(1, {"id":"1","name":"Sample Departmentsss","code":"SDT"})"><i class="fas fa-eye cyan-text"></i></a>
缺少什么语法?
编辑
function manageFormView(flag,row){
document.getElementById("form3").value = row;
console.log("flag and row "+flag+" "+row);
};
答案 0 :(得分:2)
查看生成的源。找出错误:
onClick="manageFormView(1, {"
1 2
使用htmlspecialchars
使数据安全地插入HTML的属性值中。
生成JS插入HTML并插入PHP使得事情相对难以管理。
我建议将数据插入data-*
attributes并使用JavaScript绑定delegated event handler,而不要使用onclick
属性。