簡體   English   中英

將php結果發送給兩個獨立的div

[英]echo php results to two separate divs

我有一個PHP函數通過javascript接收下拉變量。 變量通過函數處理,函數返回兩個結果。 我想在頁面頂部顯示div“one”中的一個結果,而另一個結果顯示在同一頁面底部的div“two”中。 我怎樣才能做到這一點?

我正在使用此jScript函數將變量從下拉列表傳遞到php頁面

function getRunners() {
var awayRunner = document.getElementById('awayRunner').value;
var homeRunner = document.getElementById('homeRunner').value;

if(window.XMLHttpRequest) {
    xmlhttp13 = new XMLHttpRequest();

}
else {
    xmlhttp13 = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp13.onreadystatechange = function() {
    if(xmlhttp13.readyState == 4 && xmlhttp13.status == 200) {
        document.getElementById("one").innerHTML = xmlhttp13.responseText;
    }
}
xmlhttp13.open("GET", "/Modules/process.php?awayRunner=" + awayRunner + "&homeRunner=" + homeRunner, true);
xmlhttp13.send();

}

在php頁面中,我有類似的東西

function getResults($homeRunner,$awayRunner){
  process info...
  echo $homeResult;
  echo $awayResult;
}

getResults($homeRunner,$awayRunner);
?>

我理解上面的jScript代碼只返回div“one”。 我如何將div“兩個”加入其中?

先感謝您!

打破回應。 就我個人而言,我會使用JSON,但你可以使用更原始的東西。

function getResults($homeRunner,$awayRunner) {
    // do stuff
    echo $homeResult."---SEPARATOR---".$awayResult;
}

然后在你的JavaScript中:

xmlhttp13.onreadystatechange = function() {
    // if readyState and status correct
    var parts = xmlhttp13.responseText.split("---SEPARATOR---");
    // now put parts[0] in one div and parts[1] in the other
}

只要您的分隔符是結果中沒有出現的任何內容,它就可以正常工作。

這樣做的最好方法是讓一個包含div和div的div,然后讓你的php頁面返回:

<div id="1">
Div 1 content
</div>
<div id="2">
Div 2 content
</div>

你的大div應該是這樣的:

<div id="encompassing">
<div id="1">
Div 1
</div id="2">
Div 2
</div>

</div>

而不是設置div 1的innerHTML值,將其設置為div包含。

document.getElementById("encompassing").innerHTML = xmlhttp13.responseText;

暫無
暫無

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

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