2013-05-05 167 views
2

我有一系列鏈接,每個鏈接都屬於不同價格的不同產品。javascript,html onclick更改變量

例如:用戶點擊產品鏈接之一

<%a class="items" href="order.htm" alt="" onclick="javascript: num = 149.99">Content<%/a> 

後,我想能夠顯示特定產品的價格訂購頁面上。是否可以保存更改後的變量以便在單獨的訂單頁面上使用?如果是這樣,怎麼樣?

這純粹是爲了我個人對JavaScript和HTML5的探索。

編輯:好吧,所以使用sessionStorage,我可以設置和獲取變量。

如:

myVar = window.sessionStorage; 
myVar.setItem("key", "149.99"); 

現在,我將如何整合與產品連結的變種,然後調用以下頁面上的變種?

+1

你嘗試過什麼嗎?你能向我們展示一些測試嗎?也許有些代碼? – steo 2013-05-05 20:32:56

+0

請不要在瀏覽器中存儲價格信息。你**會遇到一種情況,人們可以免費購買你店裏的所有東西,並獲得5美元的回報。所有不應該被篡改的數據(例如購物車內容)應始終保持安全地存儲在服務器端,並在每次頁面重新加載時傳回給客戶端。 – 2013-05-05 21:20:06

+0

感謝您的信息。但是,這僅僅是一個原型,不會用於任何貨幣交易。 – user2352728 2013-05-05 21:28:12

回答

2

如果您正在創建購物頁面,我肯定會建議您添加一些PHP。 只有JS和HTML,你會遇到許多問題,你將不得不尋找解決方法。

使用服務器端存儲,比如PHP的$_SESSION superglobal。任何客戶端存​​儲都可能被操縱。你說你不是在發佈它,而是保持它乾淨,不要以更糟糕的方式學習自己。

不管怎麼說,如果你只是想要得到這份工作,這裏有來存儲數據,並得到它之後的命令:

//store data on the initial page using setItem() 
sessionStorage.setItem("mykey", "Some Value"); 

//on the next page get it with getItem() and declare it as a var 
var persistedval = sessionStorage.getItem("mykey"); 
­ 
//Now you can write the price to the document using the variable 
document.write("Total is: " + persistedval); 

值可以使用任意的getItem()和setItem()來設置和檢索,或者直接引用該鍵作爲對象的屬性,就像我上面的示例一樣。

但請記住,sessionStorage不是很安全,因爲它存儲在瀏覽器會話中。假設你甚至忘記了你的價格validaton檢查和一些'黑客'操縱數據並將價格從45,99改爲-249,99,產品名稱改爲Credit note

如果您想深入購物頁面,用戶區域等,您應該首先關注HTML + PHP,並在需要時使用JS(當您開始使用時,主要是DOM操作)。

但是,存儲用戶登錄信息,任何用戶特定的數據或不敏感的數據都是非常好的,對此毫無疑問。

希望這會有所幫助。

+0

謝謝。因此,使用sessionStorage設置器和getter,我設置了變量的值,然後在下一頁獲取該變量的值,如document.write(「Total is:」+ sessionStorage.getItem(「key」)) ; ? – user2352728 2013-05-06 01:10:18

+0

我會將它聲明爲var。看看上面,我編輯了我的帖子。 – 2013-05-06 02:37:03

+0

Whe,這有所幫助。謝謝你,先生。 – user2352728 2013-05-06 03:24:16

2

您可以存儲使用localStorage

+0

感謝您的快速回復。我會檢查localStorage。 – user2352728 2013-05-05 21:28:38

1

的JavaScript您的購物車有沒有國家的概念,所以它本身不能堅持跨頁的信息。但是,我們可以通過幾種不同的方式記住從一個頁面到另一個頁面的數據。

如果真的只有非常少量的數據要存儲並希望支持舊瀏覽器,我們可以使用cookie

另一種方法是使用LocalStorage來存儲信息。這提供了更大量的存儲空間並且具有靈活且易於使用的格式來設置和檢索數據。

+0

謝謝你的信息。 – user2352728 2013-05-05 21:29:06