簡體   English   中英

以PHP變量為參數的JavaScript函數

[英]JavaScript function with PHP variable as parameter

我搜索了有關在JS函數中轉義參數的信息,並且嘗試了很多建議,但均無濟於事。 這是代碼:

echo '<a class="btn btn-xs btn-danger" onclick="delete('.$fetch['bicc'].')"><span class="glyphicon glyphicon-remove"></span> Remove</a>'

我總是收到此錯誤:

SyntaxError: identifier starts immediately after numeric literal
delete(123456789_7_ZY7)

您需要添加引號,您的param是字符串類型:

echo '<a class="btn btn-xs btn-danger" onclick="delete(\''.$fetch['bicc'].'\')"><span class="glyphicon glyphicon-remove"></span> Remove</a>'

您忘記了\\"

onClick="delete(\"'.$fetch['bicc'].'\")"><span class="glyphicon glyphicon-remove"></span> Remove</a>

所以應該像這樣:

echo '<a class="btn btn-xs btn-danger" onclick="delete(\"'.$fetch['bicc'].'\")"><span class="glyphicon glyphicon-remove"></span> Remove</a>'

根據經驗,如果要在JavaScript代碼中使用PHP變量,則需要將它們包裝在json_encode

echo '<a class="btn btn-xs btn-danger" onclick="delete('.json_encode($fetch['bicc']).')"><span class="glyphicon glyphicon-remove"></span> Remove</a>'

json_encode能夠接受大多數PHP變量(字符串,數組,關聯數組),並將其正確編碼為與JavaScript對應的變量(例如,為字符串添加引號)。

您應該添加引號,因為參數是字符串

echo "<a class=\"btn btn-xs btn-danger\" onclick=\"delete(\"${fetch['bicc']}\")\"><span class=\"glyphicon glyphicon-remove\"></span> Remove</a>";

$ fetch ['bicc']是否具有字符串類型值?

如是:

echo '<a class="btn btn-xs btn-danger" onclick="delete(\"'.$fetch['bicc'].'\")"><span class="glyphicon glyphicon-remove"></span> Remove</a>'
$data = str_replace('_', ' ', $fetch['bicc']);
echo '<a class="btn btn-xs btn-danger" onclick="delete('.$data.')"><span class="glyphicon glyphicon-remove"></span> Remove</a>'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM