[英]How can I pass a php include call as a variable for javascript function?
我有一個頁面,該頁面使用javascript innerhtml替換元素的內容作為偽靜態頁面。
以下代碼來自該元素的當前內容:
<?php
$con = mysql_connect('***********', '******', '**********');
mysql_select_db(dbbmdmi);
if ($con) {
$sql = "SELECT TeamID, Captain, CountryID, ArrDate, DepDate FROM Teams";
$result = mysql_query($sql) or die(mysql_error());
$link = "<a id='" . $row["TeamID"] . "' onClick='SetTeamID();ReplaceContentInContainer('content','replace_target6')'>Edit</a>";
if ($result) {
// output data of each row
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "Captain: " . $row["Captain"]. "<a id='" . $row["TeamID"] . "' onClick=\"ReplaceContentInContainer2('content','<?php include 'scripts/editteam.php?TeamID=" . $row["TeamID"] . "'>')\">Edit</a>;" . "</br>Country: " . $row["CountryID"]. "</br>Dates: " . $row["ArrDate"]. " - ". $row["DepDate"]. "<br>";
}
?>
在onClick=\\"ReplaceContentInContainer2('content','<?php include 'scripts/editteam.php?TeamID=" . $row["TeamID"] . "'>')
我試圖通過php include作為原始“容器”頁面中以下函數的“源”參數:
<script type="text/javascript">
function ReplaceContentInContainer2(target,source) {
document.getElementById(target).innerHTML = source;
}
</script>
單擊鏈接時,我不斷收到此錯誤:
team.php:1SyntaxError:意外的標識符“腳本”。 期望')'結束參數列表。
基本上,我試圖將$row_["TeamID"] to the next page in the address so that I can call with a
$ _GET`函數進行調用。
有什么建議么?
更新:
在javascript函數調用中轉義單引號后,該元素的內容將按原樣替換,除了php include在新內容中以html注釋呈現,而不是作為php運行。
在onClick=\\"ReplaceContentInContainer2('content','<?php include \\'scripts/editteam.php?TeamID=" . $row["TeamID"] . "\\'?>')\\"
轉義的單引號
呈現的html: <!--?php include 'scripts/editteam.php?TeamID=Kellog'?-->
那是一個非常有趣的想法。 您將要遇到的問題是,PHP僅會呈現您的<?php include... ?>
的字符串,因為PHP只會在最初處理它,然后再將其處理。 這可能是您想要做的。
<!-- front-end.html-->
<script type="text/javascript">
function ReplaceContentInContainer2(target,source) {
document.getElementById(target).innerHTML = source;
}
function ajaxForHtml(url, callback) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
callback(xhttp.responseText);
}
};
xhttp.open("GET", "ajax_info.txt", true);
xhttp.send();
}
function clickAction(id) {
ajaxForHtml('scripts/editteam.php?TeamID=' + id, function(data) {
ReplaceContentInContainer2('content', data);
});
}
</script>
<?php
$con = mysql_connect('***********', '******', '**********');
mysql_select_db(dbbmdmi);
if ($con) {
$sql = "SELECT TeamID, Captain, CountryID, ArrDate, DepDate FROM Teams";
$result = mysql_query($sql) or die(mysql_error());
$link = "<a id='" . $row["TeamID"] . "' onClick='SetTeamID();ReplaceContentInContainer('content','replace_target6')'>Edit</a>";
if ($result) {
// output data of each row
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo sprintf('Captain: %s <a id="%d" onclick="clickAction(%d);">Edit</a>;</br>Country: %d</br>Dates: %s - %s </br>',
$row['Captain'], $row['TeamId'], $row['TeamId'], $row["CountryID"], $row["ArrDate"], $row["DepDate"]
);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.