這一個反向:如何將JavaScript生成的數據中的值保存到PHP變量中?
<script>
document.getElementById("jscript_element").value = '<?=$php_variable?>';
</script>
這可能嗎?
注意:Post/Get一定不能使用,因爲腳本將只集成在onChange事件中,其餘的是歷史記錄。
在此先感謝!
這一個反向:如何將JavaScript生成的數據中的值保存到PHP變量中?
<script>
document.getElementById("jscript_element").value = '<?=$php_variable?>';
</script>
這可能嗎?
注意:Post/Get一定不能使用,因爲腳本將只集成在onChange事件中,其餘的是歷史記錄。
在此先感謝!
我認爲你的問題的答案在於解釋兩種腳本的順序。
document.getElementById("jscript_element").value = '<?=$php_variable?>';
凡是在<? ?>
標籤是由服務器作爲PHP解釋,然後寫入頁。這個完整的頁面然後被傳送到客戶端。 請注意,PHP只能在服務器上運行。
頁面加載並呈現給客戶端後,PHP代碼不存在。要設置一個PHP變量,您必須必須以某種方式將該數據傳輸回服務器。
您指定不能使用任何類型的Post或Get。無論是通過表單操作同步還是通過AJAX異步通信,任何類型的通信都將歸入Post或Get類別。
因此,考慮到這一點:
是否有可能?
號
你要麼必須值寫入JavaScript的輸入,並記錄值當的形式張貼,或使用AJAX來送價值給您的服務器進行處理。一旦頁面被加載,PHP就完成了。
儘管將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生成的值。
在你的問題背後,顯然存在服務器端操作和客戶端操作之間的混淆。
您應該閱讀關於此主題的一些信息,如本文:http://www.virtualshowrooms.co.za/articlepage.php?cp=101。
他指定「Post/Get must not be used」。是不是一個AJAX郵政仍然是一個職位? –
@Michael:我想他指的是我提出的前一個選項(作爲選項值得注意),即具有表單action =「post/get」,意味着用戶離開當前歷史記錄。雖然AJAX調用確實使用POST或GET方法,但用戶仍然維持當前的頁面加載,這就是爲什麼首先使用AJAX的原因。 – Josh