2012-01-15 68 views
-1

我有一個倒計時腳本i灣在targetdate作爲值鍵在database.i存儲形式試圖在腳本targetdate = $日期,但它似乎並不閱讀價值。將PHP的值轉換爲JavaScript

<script language="JavaScript"> 
TargetDate ="1/31/2012 5:00 AM"; 
CountActive = true; 
CountStepper = -1; 
LeadingZero = true; 
DisplayFormat = "%%D%% Days, %%H%% Hours, %%M%% Minutes, %%S%% Seconds."; 
FinishMessage = "It is finally here!"; 
</script> 
<script language="JavaScript" src="http://scripts.hashemian.com/js/countdown.js"></script> 
+0

你從哪裏得到代碼示例? – greut 2012-01-15 10:00:20

+0

@greut:你爲什麼問? (無論如何,請查看'countdown.js'的實際[code](http://scripts.hashemian.com/js/countdown.js))。 – Purag 2012-01-15 10:04:49

+0

'語言=「JavaScript」'棄用'type =「text/javascript」',因爲很長一段時間...但老年人很難殺死我猜;-) – greut 2012-01-15 10:07:24

回答

3
<script type="text/javascript"> 
var TargetDate = <?php echo json_encode($date); ?>; 
</script> 

取決於$date的格式,如果它是一個時間戳,你也可以嘗試

<script type="text/javascript"> 
var TargetDate = <?php echo json_encode(date('j/n/Y g:i a', $date)); ?>; 
</script> 
+0

我對這種情況的建議,你可以使用一些東西像這樣:'<?= json_encode($ date);?>'它更快,更具可讀性。 – khael 2012-01-15 10:01:09

+2

@khael:這不是很好的語法,<?=在php <= 5.4.0中被認爲是'short tag',所以這個代碼依賴於php配置(另一方面<?php echo ...? >始終可用)。 – 2012-01-15 10:08:55

0

顯然你不能dinamycally把它作爲json_encode只會在onload之前被解析的javascript事件,所以如果你需要從服務器上進行修改,你應該用ajax或getJson調用它來更新