2012-04-27 21 views
2

这是一种难题,因为我不知道如何将它改为单词。我正在制作一个使用HTML5和JS的购物车网站,并且我已经完成了大部分工作,但在一个重要方面需要帮助。在不同的页面上显示JS var

目前我的“立即购买”按钮位于链接到1页的标签中,用户可以输入他的信息并进行购买,该页面被称为“结账”。我希望这个“结账”页面显示他希望购买的商品的价格。

例如)用户点击一本价值$ 10.00的书并点击立即购买按钮。此按钮会将其发送至确认页面,在该页面中将显示填写表单,但该页面不会显示他正在购买的商品的价格。

这是我的问题所在。除了为每个产品制作不同的页面(我只有9种产品),我想不出任何解决方案。另外,如果它不明显,我仍然是JS的初学者。任何帮助将不胜感激,帮助我找出如何在每个特定项目的“结账”页面上显示价格,而无需创建9个单独的页面。谢谢。

+2

在数据库中没有这些书籍和价格吗? – Sampson 2012-04-27 20:56:25

+0

那么,没有任何会话状态或服务器端代码,我想你可以将它存储在客户端的cookie中,然后在其他页面上检索它,然后在检索它之后将其销毁。但这是自己的失败。 – 2012-04-27 20:59:08

+0

如果您甚至不知道服务器上的价格是多少,那么客户可以轻松地将cookie值设置为0并且不付任何费用;你真的需要从头开始重新思考这个问题。 – Hawken 2012-04-27 21:04:05

回答

3

最好的方法是使用一些服务器端解决方案。客户端将他的表单发送到您的服务器,在那里对表单进行评估并呈现相应的html页面。

唯一的另一种方法是使用cookie或本地存储 - 但这相当丑陋。

你肯定应该阅读一些关于php和mysql的教程,但我会给你粗略的介绍如何实现这一点。

您提供一个表单页面上是这样的:

<form method="post" action="your-serverside-phpscript-that-processes-your-form.php> 
    How many Ipads you wanna buy:<input type="number" name="ipads"> 
    <button type="submit"> 
</form> 

现在在服务器端你的PHP脚本可以评估的形式。

所有的表单都存储在一个$_POST数组中。 ($ _POST [“ipads”])获取用户在表单中输入的值。您不需要将这些值存储在数据库中。 您可以评估formvalues并使用相应数据(总价)创建结帐页面。现在用户提交结账表单,您再次处理并存储在数据库中。

我不会写下(sry,太累了)这个服务器端部分的工作方式,这里有很多东西,只是搜索谷歌的php + mysql。

+0

我从来没有使用过数据库,但由于这个项目的需求是mySQL和PHP,我想这是实现这两个目标的最好方法。我现在只需要弄清楚如何去做。 – Envious 2012-04-27 21:03:10

+0

@以上我会更新我的答案。 – Christoph 2012-04-27 21:05:28

+0

感谢您的提问。我现在正在处理它。 – Envious 2012-04-27 21:43:17

3

如果我理解正确,你问的是如何在JavaScript中存储一个可以被多个页面检索的变量。

执行此操作的规范方法是使用Cookie。本地cookie库相当混乱,所以我建议使用cookie库,like this

但是,由于您的问题标记为html5,因此您可能会对此采用HTML5解决方案,这比Cookie更简单。

sessionStorage.setItem("price", 100); 
var price = sessionStorage.getItem("price"); 
2

既然你想保留此数据都在客户端,我会鼓励你检查出Amplify.Store。在充分披露的情况下,我目前受到公司背后的雇用 - 但这很好,而且是免费的。

保存数据是很容易:

amplify.store('cart', { name: 'Book Title', price: 10.99 }); 

要稍后访问它,你可以简单地调用:

amplify.store('cart'); 

这将返回你的对象,从中可以获取所有的产品目前加载。 Amplify会评估您的系统并确定哪种存储方法最好,然后使用它。这消除了所有的猜测工作形式,让你做你想做的事情。

请理解,虽然保留数据客户端很方便,但它绝不是安全的。在处理交易和财务问题时,您应该始终将数字放在消费者手中。

通常这样的数据存储在服务器端,会话内,数据库内或两者的组合中。但是,如果你了解风险,并且你的模型允许这种类型的持久性,那么通过一切手段可以自由地将其用作解决方案。

相关问题