2012-10-23 58 views
-2

嗨,大家好,我想創建一個下拉菜單來選擇時間。我用JavaScript來獲得電腦的時間。那麼,如果計算機的時間等於下拉菜單的值,那麼我想要輸出,然後應該選擇輸出。下面是 是我的代碼。在php中調用javascript輸出

<script type="text/javascript"> 
function time(){ 
var currentTime = new Date(); 
$hours = currentTime.getHours(); 
document.write($hours); 
} 
</script>  
<select> 
<?php $hr="<script>time();</script>";//calling the output from javascript 
for($i = 0; $i < 24; $i++): ?> 
<option value="<?= $i; ?>" <?if ($i==$hr) echo "selected";?> > 
<?= $i % 12 ? $i % 12 : 12 ?> <?= $i >= 12 ? ' pm' : ' am' ?> 
</option> 
<?php endfor ?> 
</select> 
+10

您需要從基礎知識入手,學習如何使用php和javascript。 – zerkms

+0

您的PHP將在服務器端進行解釋,這將在客戶端(Web用戶)有機會解釋之前進行。因此,你的PHP不會在那裏工作。你想要做的只應該是使用JavaScript。 –

+0

這是一個可怕的反模式,不惜一切代價避免這個 –

回答

1

PHP是服務器端腳本語言,Javascript是客戶端腳本語言。當用戶查看你的網頁時,php代碼已經被執行了。所以你不能混合和匹配的語言,並嘗試使用JS與PHP混合輸出沒有形式返回或回傳(有或沒有XHR)

0

我會開始在您的PHP腳本中不輸出JavaScript。這並不容易創建,閱讀或維護。

我只在PHP中蘸過我的腳趾,並且對php的具體細節知之甚少,但取決於什麼,如果您使用的是任何框架,您應該嘗試抽象出盡可能多的視圖(客戶端標記/腳本)出你的PHP邏輯。模板引擎是你的朋友!

如果我是你,我會考慮像codeigniter或cakePHP框架。這些旨在讓你的生活更輕鬆,但隨着時間的推移,你會發現你可能不同意他們爲你做出的許多決定。

話雖如此,我認爲這很重要,並從基礎開始,如提到的zerkms。知道什麼是Web應用程序的每一層負責。如果你嘗試在你的php中生成客戶端腳本,你只會讓自己頭疼。