我正在尝试将 PHP 变量传递到引导按钮中的 onclick()
中,这是代码,请注意它位于 PHP echo 中:
<button id="reportTopicButt" class="btn btn-danger" onclick="reportTopic('.$topicID.')">
<i class="fa fa-flag"></i></button>
$topicID 是我从查询中获取的 PHP 变量,它在 PHP 函数内声明,这就是上面的代码是 echo 语句的原因。
这是我的 reportTopic()
JavaScript 函数:
function reportTopic(aTopicID) {
var topicID = aTopicID;
$.ajax({
url:"report-topic.php?topicID=" + topicID,
type: "GET",
success:function(data) {
var results = data;
console.debug(results);
alert('Thanks for reporting');
}});
}
有趣的是,Chrome 控制台打印了我需要的 ID,但它给了我以下错误:
Uncaught ReferenceError: CRFYLtWNDD is not defined
at HTMLButtonElement.onclick
CRFYLtWNDD 是我的 $topicID PHP 变量,所以至少我知道 onclick()
按钮正确获取它,但我真的无法弄清楚为什么它没有定义。
最佳答案
这是因为 $topicId 被渲染为变量来解决它,将其设置为 php 中的字符串
<button id="reportTopicButt" class="btn btn-danger" onclick="reportTopic(\''.$topicID.'\')">
<i class="fa fa-flag"></i></button>
关于调用函数时,JavaScript 变量未在 onclick 按钮上定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46811499/