2009-04-12 69 views
1

我可以從功能 外部訪問一個JavaScript函數的值一樣,如果我有一個函數在PHP中訪問javascript函數值?

<script> 
function test_tree(opt) 
{ 
    val = opt; 
} 
</script> 

我可以從test_tree函數外部訪問val值還是有從PHP訪問它的方式碼?

我需要能夠從PHP代碼中的JavaScript代碼訪問值。

+0

[將PHP字符串傳遞給Javascript變量(包括轉義換行符)](http://stackoverflow.com/q/168214/),[如何將變量/數據從javascript傳遞到php和副本通用?](http://stackoverflow.com/q/406316/90527)和許多其他(取決於究竟是什麼jarus要求)。 – outis 2012-02-13 12:37:42

回答

1

將該值設置爲隱藏字段,並讀取服務器端代碼中的隱藏字段。

<input type="hidden" id="myVariable"> 

在你的函數:

document.getElementById('myVariable').value = val; 
4

考慮到你沒有使用var聲明變量它是提供給每一個功能,並在全球範圍內的所有代碼和超越,因爲沒有var的變量在全局範圍內創建。

儘管回答你的問題,但如果你希望函數內部創建的變量超出函數的存在期限,可以使用閉包。您可以將變量賦予某個可以在存儲一堆這些值的函數之外訪問的對象。

如果您希望變量(在JavaScript中創建,因此我假設在客戶端上)可供您的PHP後端訪問,則必須向服務器發送請求。如果這個執行不是提交表單的一部分,可能是ajax調用。