调用函数时,JavaScript 变量未在 onclick 按钮上定义

标签 javascript php jquery onclick

我正在尝试将 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/

相关文章:

php - Symfony2 - 如何验证自动完成实体表单类型?

javascript - Cytoscape.js 复合子节点 addClass 不显示样式

javascript - 如何使用 JQuery 选择一个元素并修改它的内容?

javascript - 动态创建元素的持久性 css 规则更改

php - 如何防止在线酒店预订中的竞争条件

php - 在 php 中从 MYSQL 结果创建 3D 数组

javascript - 我想以一定的间隔在 Canvas 上绘制,但 setTimeout 不起作用

php - 在在线游戏中跟踪计算机

javascript - Jquery,使用变量转义 url

javascript - 使用警告框请求用户输入