2016-08-04 68 views
0

我有下面的PHP代碼來生成一個表格,其中一列中嵌入了可點擊的圖像。我知道這個函數起作用,因爲如果只需要點擊sortleads(),就可以正確調用JavaScript函數。我試圖擺脫?sort=IDD左右的單引號,但在我的JavaScript控制檯中出現以下錯誤SyntaxError: Invalid escape in identifier: '\'。我也嘗試了雙反斜槓來逃避反斜槓,但是也出現了類似的錯誤。我應該如何正確地逃避單引號?我還包括了所有相關的代碼。標識符php中的無效轉義

相關PHP摘錄:

$display_string .= "<th>ID <img src='img/down.png' alt='down arrow' 
onclick= 'sortLeads(\'?sort=IDD\')' height='50px' width='50px'> </th>"; 

完整的PHP:

$display_string = "<table class='table table-bordered table-hover scroller'>"; 
$display_string .= "<thead class='thead-inverse'>"; 
$display_string .= "<tr>"; 
$display_string .= "<th>ID <img src='img/down.png' alt='down arrow' onclick= 'sortLeads(\'?sort=IDD\')' height='50px' width='50px'> 
</th>"; 
display_string .= "</tr>"; 
$display_string .= "</thead>"; 
$display_string .= "<tbody>"; 

的Javascript:

<script language="javascript" type = "text/javascript"> 
function sortLeads(query) 
{ 
    var request = new XMLHttpRequest(); 
    request.onreadystatechange = function() 
    { 
     if (request.readyState == 4) 
     { 
      var results = document.getElementById('sortLeads'); 
      results.innerHTML = request.responseText; 
     } 
    } 
    request.open("GET", "sortLeads.php"+query, true); 
    request.send(null); 
} 
</script> 

回答

2

有一個SYN在你的PHP稅錯誤

變化

$display_string .= "<th>ID <img src='img/down.png' alt = 'down arrow' onclick= 'sortLeads(\'?sort=IDD\')' height = '50px' width = '50px'> 
</th>";display_string .= "</tr>"; 

$display_string .= "<th>ID <img src='img/down.png' alt='down arrow' onclick=\"sortLeads('?sort=IDD')\" height='50px' width='50px'></th>"; 
$display_string .= "</tr>"; 
+0

感謝,完美的工作,但我仍然困惑,爲什麼我應該使用轉義雙引號,而不是逃脫單引號。逃脫的雙引號是否會影響原來的雙引號? – manpozi

+0

我很高興它有幫助。你正在逃避那些根本不能逃避的單引號,所以你最終會打印導致錯誤的sortLeads(\'?sort = IDD \')。再加上你在下一個連接變量之前缺少$。 –

+0

@曼波西,因爲你只能逃避你在外面使用的那種。 '$ x =「我對他說'喲'。';'或'$ x ='我對他說''''';'你不會在另一種類別中逃避另一種。 – developerwjk