2011-10-26 36 views

回答

1

我認爲你的問題的答案在於解釋兩種腳本的順序。

document.getElementById("jscript_element").value = '<?=$php_variable?>'; 

凡是在<? ?>標籤是由服務器作爲PHP解釋,然後寫入頁。這個完整的頁面然後被傳送到客戶端。 請注意,PHP只能在服務器上運行。

頁面加載並呈現給客戶端後,PHP代碼不存在。要設置一個PHP變量,您必須必須以某種方式將該數據傳輸回服務器。

您指定不能使用任何類型的Post或Get。無論是通過表單操作同步還是通過AJAX異步通信,任何類型的通信都將歸入Post或Get類別。

因此,考慮到這一點:

是否有可能?

2

你要麼必須值寫入JavaScript的輸入,並記錄值當的形式張貼,或使用AJAX來送價值給您的服務器進行處理。一旦頁面被加載,PHP就完成了。

+0

他指定「Post/Get must not be used」。是不是一個AJAX郵政仍然是一個職位? –

+0

@Michael:我想他指的是我提出的前一個選項(作爲選項值得注意),即具有表單action =「post/get」,意味着用戶離開當前歷史記錄。雖然AJAX調用確實使用POST或GET方法,但用戶仍然維持當前的頁面加載,這就是爲什麼首先使用AJAX的原因。 – Josh

0

儘管將javascript生成的數據設置爲一個php變量不是直接可能的,但如果需要,您可以按照以下方法實現此操作。

獲取您希望在php中可用的值後,將值存儲在cookie中。

<script type="text/javascript"> 
generated_value=document.getElementById("jscript_element").value; 
document.cookie="cookie_name="+generated_value; 
</script> 

然後在你的PHP腳本只是讀$ _COOKIE數組中的值。

<?php $generated_value = $_COOKIE['cookie_name']; ?> 

這將需要頁面重新加載,但您將能夠使用JavaScript生成的值。

相關問題