2012-01-06 116 views
5

我只是想知道我怎麼可以顯示一個javascript變量轉換爲HTML?如何顯示PHP變量到HTML

下面是我的PHP代碼:

var duration = <? echo $postduration; ?>; 

(上面的變量使用PHP來檢索PHP變量)

謝謝

+0

什麼你上面寫的是不是JavaScript的檢索的變量。 PHP是輸出的$ postduration值到將被瀏覽器,如JavaScript ..在以後運行。如果你不明白的事情,你在很多頭刮的是順序的文本。 – paislee 2012-01-06 23:40:18

+0

''使用javascript來檢索一個php變量'有些東西沒有味道。你想JavaScript讀取存儲在服務器上的值嗎?如果是這種情況,你需要的是AJAX。 – 2012-01-06 23:41:33

+0

那麼我的意思是我想使用上面的代碼「var duration = <?echo $ postduration;?>;」從$ postduration(這是100)獲取值,然後使用html通過檢索javascript變量來顯示它 – BruceyBandit 2012-01-06 23:59:36

回答

8

馬磕你的代碼更簡潔與jQuery

(1)添加這個在您的<head>

<script src="http://code.jquery.com/jquery-latest.min.js"></script> 

(2)創建要顯示的變量的元素,並給它一個ID,例如:

<span id="printHere"></span> 

(3)在你的JavaScript補充一點:

var duration="<?php echo $postduration ?>"; 
$('#printHere').html(duration); 

爲PHP,請嘗試以下兩種選擇:

<?=$postduration?> 

或...

<?php echo $postduration; ?> 
+0

嗨,我實際上已經jQuery代碼,但它不顯示文本。我有相關的腳本標記,但它沒有顯示任何東西在我的範圍內。我將在Jsfiddle中顯示我的代碼,以便您可以看到它。 http://jsfiddle.net/SLbKX/4/,我需要顯示php變量上面的jQuery的PHP標籤或可以去jQuery下面,因爲此刻的PHP變量低於jQuery代碼 – BruceyBandit 2012-01-07 00:05:25

+0

它應該去以便你引用一個已經存在的變量。假設你已經按照它在jsfiddle中的樣子進行了佈局,如果PHP正在生成頁面,它應該可以工作。你正在編輯一個.php文件,對嗎? – paislee 2012-01-07 00:14:15

+0

是的,它是一個PHP文件,它仍然沒有顯示它,令人驚訝的是,我的代碼是在這個更新的小提琴,http://jsfiddle.net/SLbKX/7/,我看不出什麼錯,但我不知道爲什麼它不起作用 – BruceyBandit 2012-01-07 00:24:41

8

爲什麼不要只使用直接顯示PHP變量進入html?

讓我們只說$postduration回聲 「一些。」下面是JavaScript代碼來呼應「一些」:

Here is <script>document.write(duration)</script> text. 

這裏將是輸出:

Here is some text. 
+0

因爲我想使用JavaScript來計算該變量和PHP需要頁面加載時計算更改而javascript不 – BruceyBandit 2012-01-06 23:35:44

+0

@ user1131869我張貼更新的代碼。 – blake305 2012-01-06 23:41:18

+0

[@ user1131869](http://stackoverflow.com/users/1131869/user1131869)你會用PHP或Javascript來計算嗎? – 2012-01-06 23:46:54

3
document.getElementById('yourElementId').innerHtml = duration; 
+1

這可能是最明智的方法。也許從'yourDiv'改爲'yourElementID'? – paislee 2012-01-06 23:43:04

+0

@paislee註冊您的編輯;-) – Atonewell 2012-01-06 23:49:45

2

下面是一個DIV添加到頁面與DIV的內容的方式成爲你的PHP變量的價值:

<script> 
var duration = <? echo $postduration; ?>; 
var div = document.createElement("DIV"); 
div.appendChild(document.createTextNode(duration)); 
document.body.appendChild(div); 
</script> 
0

不,等等,那是錯誤的。首先,上面的JavaScript不從任何地方「檢索」任何東西(無論是PHP還是其他地方)。 PHP生成JavaScript,也就是說,如果$ postduration是5,你會得到var duration = 5;,如果postduration =「測試」,你會得到var duration = test;(這是無效的JavaScript和崩潰/造成不必要的東西在你的應用程序的情況發生。

最後,從javascript獲取變量轉換成HTML,你要麼更換一些其他對象的內容(與innerHTML或類似的東西),或創建一個新的元素,並插入到頁面中。

例如這裏:http://jsfiddle.net/SLbKX/

+0

我只想知道,標籤可以有2個ID,因爲我想顯示的內容從一個跨度的變量,但我想如果我可以使用1 ID來顯示來自變量和另一個id的內容在該跨度上做一些計算? – BruceyBandit 2012-01-06 23:48:07

+0

@ user1131869 lolwut ?! – Chad 2012-01-07 00:06:03