【发布时间】:2021-05-13 14:28:11
【问题描述】:
我想将 js 函数参数“checklistNoteId”和“checklistNoteStatus”传递给 PHP 变量,这样我就可以更改数据库中的内容。我应该编写什么代码来传递这些参数?我试过这样做,但它不起作用。我的问题的一个例子如下:
编辑:我试过this,但没有帮助。
JS代码:
checklistFinishedBtn.onclick = function(e){
let noteId = Number(e.target.parentNode.getAttribute('checklist-id'));
if (checklistArray.checklistItems[noteId].isDone){
changeChecklistNoteStatus(checklistArray.checklistItems[noteId].id, 0);
} else {
changeChecklistNoteStatus(checklistArray.checklistItems[noteId].id, 1);
}
}
PHP 代码:
<head>
<script>
function changeChecklistNoteStatus(checklistNoteId, checklistNoteStatus){
console.log(checklistNoteId); //this returns 26 (which is correct)
console.log(checklistNoteStatus); //this returns 1 (which is correct)
<?php
//if I set these values manually, it works
$status = "<script>document.write(checklistNoteStatus)</script>";
$id = "<script>document.write(checklistNoteId)</script>";
$sql = 'UPDATE checklist_notes SET isDone = :isDone WHERE id = :id';
$statement = $pdo->prepare($sql);
$statement->execute(['isDone' => $status,'id' => $id]);
?>
}
</script>
</head>
此后,数据库保持不变。 (我正在尝试设置 id 为 26 的注释以在单击按钮时更改 isDone 变量。) 来自数据库的屏幕在这里:
【问题讨论】:
-
PHP 代码和 JavaScript 代码不能一起工作。当 JavaScript 代码运行时,PHP 代码已经运行。了解页面生命周期。您需要向后端提交表单或获取调用。
标签: javascript php database variables arguments