PHP是混亂的,因爲兩個(或三個)不同的作用域在相同的源代碼文件中運行。
你的樣品有純PHP:
<?php $final_value = *How can I pass user_amount here* ?>
純HTML:
<input id="custom_price" type="number" class="custom_price" name="custom_price" value="10" min="10" max="1000">
<script type="text/javascript">
</script>
和普通的JavaScript:
jQuery("#custom_price").live("change", function() {
var user_amount = jQuery('#custom_price').val();
});
HTML和JavaScript客戶端(網頁瀏覽器)上運行而PHP運行在服務器端。
一個步驟回:
甲HTTP訪問具有兩個基本不同的步驟**:
- 客戶端(的Webbrowser)發送
- 服務器發送一個響應
這是一個請求所有的,沒有更多的魔力,沒有任何的中間:一個問題,一個答案。進一步的通信需要額外的HTTP請求(和響應)。
只要瀏覽器向yourscript.php發送請求,就會收到該請求,所有參數都將被解析並且腳本正在啓動。所有的PHP代碼部分都被處理,其他一切都是純粹的未知靜態數據
最後,靜態數據加上腳本的動態輸出將作爲一個包返回給瀏覽器。溝通結束。
每個HTML頁面可能包含一個(或多個)的形式,告訴的附加信息(參數)應被列入下一個請求的瀏覽器:
<form action="myscript2.php">
<input type="hidden" name="foo" value="bar">
<input type="submit" name="button" value="Send request">
</form>
的點擊提交按鈕創建一個全新的請求,添加名爲foo
和button
的字段的值,並將所有內容發送(提交)到服務器。
同樣,目標PHP腳本正在運行,可能會輸出一些內容,但不會在之前傳送的網頁上***。
**一些技術或多或少略有不同,例如延續請求或websockets,但它們遠遠超出了這個問題的範圍。
*** JavaScript/Ajax可用於操作網頁而不重新加載,但這又是一個請求,響應和Javascript源處理客戶端響應。
作爲jQuery 1.7中,'.live()'方法已被棄用。使用.on()附加事件處理程序。 http://api.jquery.com/live/ – jcubic
你的目標是什麼後得到它..? –