javascript - 将具有相同表单的新项目添加到现有的会话存储中
问题描述
我有一个表单,只要用户是按钮,它就会通过模态调用。它在这里使用:http: //fromlandmark.com/projects/VacuumStore/product.php
每次我通过“Remplir ...”按钮调用表单时,我都会将项目添加到 sessionStorage。
问题是,稍后我想添加另一个具有相同表单的项目,并且 sessionStorage 正在使用新值进行更新。我想添加一个新项目以便以后能够显示购物车列表。
这是存储输入值并添加到存储中的代码:
$('.submit-message').click(function (e) {
e.preventDefault();
//message
var productID = $('.modal').attr('product-name');
var productImg = $('.product-image').attr('src');
var message = $('#message').val();
// from inputs
var fromName = $('#from-name-input').val();
var fromLastName = $('#from-last-name-input').val();
var fromAddress = $('#from-address-input').val();
var fromCountry = $('#from-country-input').val();
var fromCity = $('#from-city-input').val();
var fromPostalCode = $('#from-postalcode-input').val();
var fromPhone = $('#from-phone-input').val();
// to inputs
var toName = $('#to-name-input').val();
var toLastName = $('#to-last-name-input').val();
var toAddress = $('#to-address-input').val();
var toCountry = $('#to-country-input').val();
var toCity = $('#to-city-input').val();
var toPostalCode = $('#to-postalcode-input').val();
var toPhone = $('#to-phone-input').val();
let productInfo = {
FromName: fromName,
FromLastName : fromLastName,
FromAdress: fromAddress,
FromCountry: fromCountry,
FromCity: fromCity,
FromPostCode: fromPostalCode,
FromPhone : fromPhone,
FromName: toName,
ToLastName : toLastName,
ToAdress: toAddress,
ToCountry: toCountry,
ToCity: toCity,
ToPostCode: toPostalCode,
ToPhone : toPhone,
Message: message,
Product: productImg,
ProductID : productID
};
sessionStorage.setItem('productList', JSON.stringify(productInfo));
var storedProductList = JSON.parse(sessionStorage.getItem('productList'));
})
解决方案
将产品列表作为 JSON 数组存储在会话存储中。
产品列表的初始反序列化值是null
并且应该默认为数组。
var storedProductList = JSON.parse(
sessionStorage.getItem('productList')) || [];
追加productInfo
到这个数组。
storedProductList.push(productInfo);
最后,将其存储到会话存储中。
sessionStorage.setItem('productList',
JSON.stringify(storedProductList));
推荐阅读
- r - 矩阵的每一列与另一个矩阵的索引列的有效子集
- python - 删除包含元音的单词
- entity-framework-core - 如何知道用户编辑?
- r - 总结 if 条件中的逻辑语句
- unity3d - Unity Player 穿过物体
- r - 如何在 R Shiny 中使用 collapsibleTree 构造 csv 数据文件(列和行)并创建交互式树状图?
- c# - 我有一个错误,玩家仍然可以在没有在箱子的触发范围内按下 x
- c# - 如何从 Azure api 获取 Azure 资源组的成本?
- sql - 无法从 DB 获取信息,在使用 LIKE 函数 SQL 时丢失信息
- r - 动作按钮在闪亮的应用程序中第二次按下后起作用