2012-01-06 112 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