2011-10-03 119 views
-1

我用下面的代碼創建了一個名爲「page.php」的文件。從PHP文件調用函數到另一個PHP文件?

<!DOCTYPE HTML> 
<html> 
    <body> 
     <?php 
      require 'form.php'; 
     ?> 
     <a href="#" onclick="call_popup('form_container')">Click this link!</a> 
    </body> 
</html> 

我創建了另一個文件 「form.php的」 與下面的代碼:

<script type="text/javascript"> 
    function call_popup (container_id) { 
     var id= document.getElementById(container_id); 
     alert(id); 
    } 
</script> 
<div id="form_container"> 
    <form> 
     <input type="text" /> 
     <input type="button" value="submit" /> 
    </form> 
</div> 

我想稱之爲 「call_popup(CONTAINER_ID)」 功能中的 「page.php文件」,這是在「form.php」中定義。當我點擊「點擊此鏈接!」它會給出錯誤,說找不到call_popup('form_container')

我哪裏錯了?

回答

0

您需要在「page.php文件」開始補充一點:

require_once("form.php"); 

但我不能肯定,隨着JavaScript函數工程..

嘗試創建一個JavaScript文件,「文件.js文件」,並引用它在兩個PHP文件:

<script src="file.js" type="text/javascript" /> 
0

而不是使用

require 'form.php'; 

php標籤內使用

include() 
+0

我試過包括('form.php')和require('form.php')..我嘗試兩種..但它不工作,它仍然給出了同樣的錯誤! – indr

1

將JavaScript代碼在不同的文件 - 例如file.js

包括在你想使用你的代碼中的所有HTML文件這個文件,在head部分:

<!DOCTYPE HTML> 
<html> 
    <head> 
     <script type="text/javascript" src="file.js"></script> 
    <head> 
    <body> 
     <a href="#" onclick="call_popup('form_container')">Click this link!</a> 
    </body> 
</html> 

這是從服務器端代碼更好的做法是單獨的客戶端代碼(JavaScript的)(PHP )。

0

我剛剛在我的本地XAMPP上測試了您的設置,它可以工作(儘管混合使用JavaScript和HTML代碼不是最佳做法)。你確定「要求」電話有效嗎?你在瀏覽器中看到「form.php」中定義的表單嗎?

也許你剛剛得到了「form.php」錯誤的路徑,並在服務器上禁用了PHP錯誤消息(在生產環境中並不罕見)。在這種情況下,PHP會因文件丟失而死亡,但不會拋出任何錯誤信息...

相關問題