2013-07-19 224 views
-3

即時嘗試將一個值傳遞給一個java腳本函數。但是當我點擊鏈接我得到一個
Uncaught SyntaxError: Unexpected identifier將一個PHP變量傳遞給一個java腳本函數

這裏是代碼

<?php 

    include_once("php_includes/check_login_status.php"); 
    $routeHTML = ''; 

    $sql = "SELECT user,title FROM route"; 
    $query = mysqli_query($db_conx, $sql); 
    while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) { 
    $title = $row["title"]; 
    $user = $row["user"]; 
    $routeHTML .= '<p>Planned By '.$user.'</p><a href="#" onclick="fetchdata('.$title.')" title="Load This Map">'.$title.'</a><br />'; 
    } 
?> 

我在div標籤

回答

4

你忘了加引號的JavaScript呼應$routeHTML

$routeHTML .= '<p>Planned By '.$user.'</p><a href="#" onclick="fetchdata(\''.$title.'\')" title="Load This Map">'.$title.'</a><br />'; 
+0

非常感謝你現在的工作 –

1

你將不得不圍繞你的字符串用這樣的引號......

$routeHTML .= '<p>Planned By '.$user.'</p><a href="#" onclick="fetchdata(\''.$title.'\')" title="Load This Map">'.$title.'</a><br />'; 
0

您的JS函數的參數未定義(因爲解析的HTML缺少引號-JS假定title是未定義的變量)。

0

你忘了逃跑的報價,這樣做:

fetchdata(\''.$title.'\') 

否則PHP不能渲染'正確,你會得到一個錯誤。

0

您可以將PHP變量傳遞給JavaScript函數以這種方式:

<input type="button" value="Send" onClick="js_function('<?php echo $var; ?>')"> 
0

它一般不建議做內聯JS(作爲標籤的屬性)。

所以,我鼓勵你從HTML代碼中分離出來的JavaScript,像這樣:

HTML:

$routeHtml = '<p>Planned By '.$user.'</p><a href="#" class="MyLink" data-title="'.$title.'" title="MyTitle">'.$title.'</a><br />'; 

JS(使用jQuery,同時也爲vanillaJs工作):

$(document).ready(function(){ 
    $(".MyLink").click(function(e){ 
     fetchData($(this).data("title")) 
    }); 
}); 

注意data-title屬性,data-*屬性用於存儲自定義數據,所以它是在php和Javascript之間交換信息的好方法電子模板。

有關data- *屬性的更多信息:http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/all-you-need-to-know-about-the-html5-data-attribute/

相關問題