我試圖從PHP循環調用JavaScript函數。該調用從PHP循環傳遞一個id,然後根據它是否在cookie中找到id來設置類。目前我只收到:從PHP調用JavaScript函數,同時頁面加載
ReferenceError: getFaveClass() is not defined
我的代碼如下 -
?>
<script>getFaveClass(<?php echo $row->id; ?>);</script>
<?php
有我丟失的東西或這樣做的更好的辦法?
我試圖從PHP循環調用JavaScript函數。該調用從PHP循環傳遞一個id,然後根據它是否在cookie中找到id來設置類。目前我只收到:從PHP調用JavaScript函數,同時頁面加載
ReferenceError: getFaveClass() is not defined
我的代碼如下 -
?>
<script>getFaveClass(<?php echo $row->id; ?>);</script>
<?php
有我丟失的東西或這樣做的更好的辦法?
你寫的東西沒有問題(雖然我個人使用json_encode
以確保正確處理值)。
所有的錯誤意味着你還沒有定義getFaveClass
函數。如果它位於外部.js
文件中,請確保包含它。
感謝您的幫助。這是一個愚蠢的錯誤 - getFaveClass在一個外部的.js文件中,並在頁面底部被調用 - 已經將它移動到頭部,並且一切正常。 – Tom 2013-02-27 07:51:47
如果輸出id,腳本執行時數據應該在頁面上。將PHP作爲初始數據回覆到JavaScript調用很好。我建議你檢查並看看實際輸出的是什麼,而不是你的PHP源代碼,以便調試JS錯誤。
您的問題可能是如果$row->id == ""
發生。
有你聲明的功能getFaveClass()
,是那裏的<?php echo $row->id; ?>
值請檢查您的函數名要準確,包括在那裏你一直在呼籲這個情況。
只要檢查它應該運行。因爲我看不出你曾經共享過的代碼有什麼問題。
'PHP = server-side; JS =客戶side'。它根本行不通 – 2013-02-26 22:32:13
我意識到兩種語言的重要性,但肯定可以在頁面加載時調用函數嗎?什麼是實現這一目標的適當方式? – Tom 2013-02-26 22:34:36
@SamuelCook理論上可以在PHP生成頁面時調用javascript函數。我已經看到了用於進度條的技巧。例如:http://www.php.net/manual/en/function.flush.php#52147。但是你需要刷新輸出來做類似的事情。 – Tchoupi 2013-02-26 22:35:55