繁体   English   中英

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

[英]JavaScript variable is not defined at onclick button while calling a function

我试图在引导按钮中将PHP变量传递到onclick()中,下面是代码,请注意,它在PHP回显中:

<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>

因为您要向函数传递字符串,所以如果不这样做,则应在''之间包括它,否则javasript会认为您正在传递变量,这就是为什么会出现未定义错误的原因

尝试这个

onclick="reportTopic(\''.$topicID.'\')">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM