[英]JavaScript passing variables between functions and processing them
我正在基於JavaScript的頁面上工作,該頁面會根據用戶選擇的內容(地區,服務(12歲以下)和體重)返回送貨費用。 我只是不懂JS,所以迷路了。
我的問題是:
如果我確實使用PHP,則必須重新加載頁面,是否有可能使頁面與用戶無縫連接,即,他們的所有選擇仍然顯示?
function flag(nation, area) { this.nation = nation; var el = document.getElementById("desc"); el.innerHTML = 'The region you have selected is <b>' + area + '</b>'; document.getElementById("flag").innerHTML = '<img src="images/flags/' + nation + '.jpg">'; } function output(service) { this.service = service; var el = document.getElementById("service-desc"); el.innerHTML = 'You have selected a <b>' + service + '</b> service.'; document.getElementById("clock").innerHTML = '<img src="images/clock-' + service + '.png">'; } function result() { //get varibles(nation & serive) from functions above ~ not sure how to do this! //process varibles if (nation == "UK" && service == "Standard next day") { document.getElementById("result").innerHTML = '£9.99'; } else if (nation == "UK" && service == "Before 12pm") { document.getElementById("result").innerHTML = '£14.99'; } // etc,etc,etc.... else { document.getElementById("a1").innerHTML = ""; } }
您需要AJAX-在PHP中編寫服務器端數據提要,在JS中編寫瀏覽器端微型應用程序,以與服務器提要進行對話並相應地更新網頁。 這是使用Javascript的XMLHttpRequest對象實現的。 我強烈建議您學習使用它,然后依賴包裝它的JS庫並提供更高級別的服務(如jQuery)
在javascript中,如果您在函數外部聲明變量,則可以從任何函數中使用它,這是全局變量。 例如
var x, y;
function flag(nation,area)
{
x = nation;
y = area;
}
function output(service)
{}
function result() {
//In here you can do whatever you want with x and y
}
您最好創建一個PHP腳本,該腳本從數據庫中獲取數據並將其返回給javascript。 最好的方法是AJAX調用,這將使您能夠從數據庫中獲得所需的數據,並且僅更新頁面的特定部分而不是整個頁面。
我建議看看jQuery,因為它具有一些非常易於使用的AJAX方法。 它只是一個包裝javascript的庫,並具有許多易於使用的功能, 此處提供了很好的介紹視頻。
這是有關如何使用jQuery調用從數據庫獲取數據的PHP腳本的教程 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.