2013-02-20 48 views
1

我想「呼叫」存儲在我的.js函數從PHP頁面文件:從PHP調用JS腳本不使用此工作

echo "<script>myFunction(arg1, arg2)</script>"; 

,它只是不盡管如此。但是,它的工作原理,當我使用HTML代替:

<script>myFunction(arg1, arg2)</script> 

我可能會覺得愚蠢時,你會爲我提供的答案,但我只是不明白這一點。 謝謝!

編輯:對不起,更多詳細信息。該函數彈出一個警告對話框,而我叫它當頁面剛剛加載

+1

我有點困惑......你確定你在'<?php'塊內回聲'? – Passerby 2013-02-20 10:52:02

+7

呈現的HTML看起來像什麼? – lonesomeday 2013-02-20 10:52:01

+0

在進行回聲呼叫之前是否包含'myFunction'代碼?同時檢查你的錯誤控制檯。 – MrCode 2013-02-20 10:52:59

回答

2

要知道自己在做什麼的指示web服務器輸出JavaScript代碼行的網頁。這隻會發送給上面顯示的用戶。一旦用戶的瀏覽器看到該行,它將在客戶端執行JavaScript(即:在用戶的瀏覽器中)。 JavaScript不會也不能在服務器上執行(如果你暗示的話)。

要檢查的一件事是,如果您在之前調用該函數實際的函數聲明(它不會在這些情況下工作)。瀏覽該網頁並檢查HTML源代碼,以查看該功能在頁面上的顯示位置。如果它在函數聲明之前,則需要將它放在後面。

0

你的功能應該是在.js文件中

//dummy.js 
function myFunciton(arg1, arg2) 
{ 
    alert (arg1 + arg2); 
} 

在你的PHP頁面

//dummy.php 
<script src='dummy.js'></script> 
<?php 
    echo "<script>myFunction('arg1', 'arg2')</script>"; 
?> 

請注意,你的函數應該調用它之前被初始化。另外如果你傳遞字符串函數將它們用引號括起來

+0

我的函數是在一個.js文件中,並且在我調用它之前進行了初始化。如果我只是刪除回聲關閉我的PHP塊,並使用HTML,它的作品就像它應該 – user2090805 2013-02-20 11:07:31

+0

打開瀏覽器中的PHP頁面不工作,並檢查其源代碼。什麼打印回波線 – 2013-02-20 11:15:42

0

請確保你的js函數在聲明之前被聲明或者將調用包裝到document.ready中。那麼你的代碼將工作。

+0

我試過了,不工作 – user2090805 2013-02-20 11:07:01