2017-03-02 59 views
1

我試圖通過javascript中的php變量插入html代碼。我在下面得到以下錯誤。請有人建議嗎?用Javascript表示php代碼

錯誤消息: 「意外的標識符 '無效'」($選項值 '無效'/ '主動')

PHP

$tr_active_Options = ''; 
$sql1 = "SELECT status FROM tr_active"; 
$result = $mysqli -> query($sql1); 
while($row = $result -> fetch_assoc()){ 
$option = $row['status']; 

$option = '<div class="dpOtions" onclick="track.addChosenOption(\''.$option.'\', \'act_ui\')">'.$option.'</div>'; 

$tr_active_Options .= $option; 
} 


$tr_active = '<div class="drpClass"><div class="dropOptionsDiv" id="actList_ui">'.$tr_active_Options.'</div></div>'; 

JAVASCRIPT

document.getElementById('anchor').innerHTML = '<div id="editWrap"><?php echo $tr_active; ?></div>'; 

回答

1

'在您的字符串正在終止您以'開頭的JavaScript字符串。

您可以放心地讓PHP產生在JavaScript中使用字符串使用json_encode,就像這樣:

document.getElementById('anchor').innerHTML = 
    '<div id="editWrap">' + 
    <?php echo json_encode($tr_active); ?> + 
    '</div>'; 

注意JavaScript字符串是如何結束的,那麼我們就用+與一個PHP將輸出加入吧(json_encode將處理字符串),然後我們+它與它之後的另一個JavaScript字符串。瀏覽器將看到的內容如下所示:

document.getElementById('anchor').innerHTML = 
    '<div id="editWrap">' + 
    "contents of $tr_active here" + 
    '</div>'; 

......這是有效的。

這就是說:使用PHP來生成帶有嵌入JavaScript的HTML內部屬性的HTML需要一個受到傷害的世界。分開這些擔憂! :-)