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