将值存储在java或javascript中,以便将其传递给另一个JSP
我在代码的第11行得到了总价 但是如何将其存储在java或javascript变量中,以便以下面的形式将该值传递给billing.jsp --------------------------------------HTML--------------------------------将值存储在java或javascript中,以便将其传递给另一个JSP,javascript,java,jsp,Javascript,Java,Jsp,我在代码的第11行得到了总价 但是如何将其存储在java或javascript变量中,以便以下面的形式将该值传递给billing.jsp --------------------------------------HTML-------------------------------- <div class="card-block"> <h4 class="card-title">Orange</h4> <p class="card-text">
<div class="card-block">
<h4 class="card-title">Orange</h4>
<p class="card-text">Price: $5</p>
<a href="#" data-name="Orange" data-price="5">Add to cart</a> // Price of
Orange gets added to Cart
</div>
<div class="card-block">
<h4 class="card-title">Banana</h4>
<p class="card-text">Price: $5</p>
<a href="#" data-name="Banana" data-price="5">Add to cart</a> // Price of
Banana gets added to Cart
</div>
Total price: $<span class="total-cart"></span> // Here I am getting
total price of orange and banana lets say $10, how can I store this
dynamically generated value to a javascript variable or in any other
suitable java variable so that I can pass the value as input type hidden
in the below form??
<div class="footer">
<form name="billing" action="billing.jsp">
<input type="hidden" name="price" value=""/> // How can I pass this
total price $10 here to billing.jsp here
<input type="submit"/>
</form>
</div>
var shoppingCart = (function() {
// =============================
// Private methods and propeties
// =============================
cart = [];
// Constructor
function Item(name, price, count) {
this.name = name;
this.price = price;
this.count = count;
}
// Save cart
function saveCart() {
sessionStorage.setItem('shoppingCart', JSON.stringify(cart));
}
// Load cart
function loadCart() {
cart = JSON.parse(sessionStorage.getItem('shoppingCart'));
}
if (sessionStorage.getItem("shoppingCart") != null) {
loadCart();
}
// Public methods and properties
var obj = {};
// Add to cart
obj.addItemToCart = function(name, price, count) {
for(var item in cart) {
if(cart[item].name === name) {
cart[item].count ++;
saveCart();
return;
}
}
var item = new Item(name, price, count);
cart.push(item);
saveCart();
}
// Set count from item
obj.setCountForItem = function(name, count) {
for(var i in cart) {
if (cart[i].name === name) {
cart[i].count = count;
break;
}
}
};
// Remove item from cart
obj.removeItemFromCart = function(name) {
for(var item in cart) {
if(cart[item].name === name) {
cart[item].count --;
if(cart[item].count === 0) {
cart.splice(item, 1);
}
break;
}
}
saveCart();
}
// Remove all items from cart
obj.removeItemFromCartAll = function(name) {
for(var item in cart) {
if(cart[item].name === name) {
cart.splice(item, 1);
break;
}
}
saveCart();
}
// Clear cart
obj.clearCart = function() {
cart = [];
saveCart();
}
// Count cart
obj.totalCount = function() {
var totalCount = 0;
for(var item in cart) {
totalCount += cart[item].count;
}
return totalCount;
}
// Total cart
obj.totalCart = function() {
var totalCart = 0;
for(var item in cart) {
totalCart += cart[item].price * cart[item].count;
}
return Number(totalCart.toFixed(2));
}
// List cart
obj.listCart = function() {
var cartCopy = [];
for(i in cart) {
item = cart[i];
itemCopy = {};
for(p in item) {
itemCopy[p] = item[p];
}
itemCopy.total = Number(item.price * item.count).toFixed(2);
cartCopy.push(itemCopy)
}
return cartCopy;
}
// cart : Array
// Item : Object/Class
// addItemToCart : Function
// removeItemFromCart : Function
// removeItemFromCartAll : Function
// clearCart : Function
// countCart : Function
// totalCart : Function
// listCart : Function
// saveCart : Function
// loadCart : Function
return obj;
})();
// *****************************************
// Triggers / Events
// *****************************************
// Add item
$('.add-to-cart').click(function(event) {
event.preventDefault();
var name = $(this).data('name');
var price = Number($(this).data('price'));
shoppingCart.addItemToCart(name, price, 1);
displayCart();
});
// Clear items
$('.clear-cart').click(function() {
shoppingCart.clearCart();
displayCart();
});
function displayCart() {
var cartArray = shoppingCart.listCart();
var output = "";
for(var i in cartArray) {
output += "<tr>"
+ "<td>" + cartArray[i].name + "</td>"
+ "<td>(" + cartArray[i].price + ")</td>"
+ "<td><div class='input-group'><button class='minus-item input-group-
addon btn btn-primary' data-name=" + cartArray[i].name + ">-</button>"
+ "<input type='number' class='item-count form-control' data-name='" +
cartArray[i].name + "' value='" + cartArray[i].count + "'>"
+ "<button class='plus-item btn btn-primary input-group-addon' data-
name="
+ cartArray[i].name + ">+</button></div></td>"
+ "<td><button class='delete-item btn btn-danger' data-name=" +
cartArray[i].name + ">X</button></td>"
+ " = "
+ "<td>" + cartArray[i].total + "</td>"
+ "</tr>";
}
$('.show-cart').html(output);
$('.total-cart').html(shoppingCart.totalCart());
$('.total-count').html(shoppingCart.totalCount());
}
// Delete item button
$('.show-cart').on("click", ".delete-item", function(event) {
var name = $(this).data('name')
shoppingCart.removeItemFromCartAll(name);
displayCart();
})
// -1
$('.show-cart').on("click", ".minus-item", function(event) {
var name = $(this).data('name')
shoppingCart.removeItemFromCart(name);
displayCart();
})
// +1
$('.show-cart').on("click", ".plus-item", function(event) {
var name = $(this).data('name')
shoppingCart.addItemToCart(name);
displayCart();
})
// Item count input
$('.show-cart').on("change", ".item-count", function(event) {
var name = $(this).data('name');
var count = Number($(this).val());
shoppingCart.setCountForItem(name, count);
displayCart();
});
displayCart();
橙色
价格:5美元
//价格
橙色被添加到购物车中
香蕉
价格:5美元
//价格
香蕉被加入购物车
总价:$//我得到了
橘子和香蕉的总价格是10美元,我该如何储存
将动态生成的值转换为javascript变量或任何其他形式
合适的java变量,以便可以将值作为输入类型传递
在下面的表格中??
//我怎么能通过这个
此处的总价格为10美元,请转到billing.jsp
----------------------JAVASCRIPT----------------------
<div class="card-block">
<h4 class="card-title">Orange</h4>
<p class="card-text">Price: $5</p>
<a href="#" data-name="Orange" data-price="5">Add to cart</a> // Price of
Orange gets added to Cart
</div>
<div class="card-block">
<h4 class="card-title">Banana</h4>
<p class="card-text">Price: $5</p>
<a href="#" data-name="Banana" data-price="5">Add to cart</a> // Price of
Banana gets added to Cart
</div>
Total price: $<span class="total-cart"></span> // Here I am getting
total price of orange and banana lets say $10, how can I store this
dynamically generated value to a javascript variable or in any other
suitable java variable so that I can pass the value as input type hidden
in the below form??
<div class="footer">
<form name="billing" action="billing.jsp">
<input type="hidden" name="price" value=""/> // How can I pass this
total price $10 here to billing.jsp here
<input type="submit"/>
</form>
</div>
var shoppingCart = (function() {
// =============================
// Private methods and propeties
// =============================
cart = [];
// Constructor
function Item(name, price, count) {
this.name = name;
this.price = price;
this.count = count;
}
// Save cart
function saveCart() {
sessionStorage.setItem('shoppingCart', JSON.stringify(cart));
}
// Load cart
function loadCart() {
cart = JSON.parse(sessionStorage.getItem('shoppingCart'));
}
if (sessionStorage.getItem("shoppingCart") != null) {
loadCart();
}
// Public methods and properties
var obj = {};
// Add to cart
obj.addItemToCart = function(name, price, count) {
for(var item in cart) {
if(cart[item].name === name) {
cart[item].count ++;
saveCart();
return;
}
}
var item = new Item(name, price, count);
cart.push(item);
saveCart();
}
// Set count from item
obj.setCountForItem = function(name, count) {
for(var i in cart) {
if (cart[i].name === name) {
cart[i].count = count;
break;
}
}
};
// Remove item from cart
obj.removeItemFromCart = function(name) {
for(var item in cart) {
if(cart[item].name === name) {
cart[item].count --;
if(cart[item].count === 0) {
cart.splice(item, 1);
}
break;
}
}
saveCart();
}
// Remove all items from cart
obj.removeItemFromCartAll = function(name) {
for(var item in cart) {
if(cart[item].name === name) {
cart.splice(item, 1);
break;
}
}
saveCart();
}
// Clear cart
obj.clearCart = function() {
cart = [];
saveCart();
}
// Count cart
obj.totalCount = function() {
var totalCount = 0;
for(var item in cart) {
totalCount += cart[item].count;
}
return totalCount;
}
// Total cart
obj.totalCart = function() {
var totalCart = 0;
for(var item in cart) {
totalCart += cart[item].price * cart[item].count;
}
return Number(totalCart.toFixed(2));
}
// List cart
obj.listCart = function() {
var cartCopy = [];
for(i in cart) {
item = cart[i];
itemCopy = {};
for(p in item) {
itemCopy[p] = item[p];
}
itemCopy.total = Number(item.price * item.count).toFixed(2);
cartCopy.push(itemCopy)
}
return cartCopy;
}
// cart : Array
// Item : Object/Class
// addItemToCart : Function
// removeItemFromCart : Function
// removeItemFromCartAll : Function
// clearCart : Function
// countCart : Function
// totalCart : Function
// listCart : Function
// saveCart : Function
// loadCart : Function
return obj;
})();
// *****************************************
// Triggers / Events
// *****************************************
// Add item
$('.add-to-cart').click(function(event) {
event.preventDefault();
var name = $(this).data('name');
var price = Number($(this).data('price'));
shoppingCart.addItemToCart(name, price, 1);
displayCart();
});
// Clear items
$('.clear-cart').click(function() {
shoppingCart.clearCart();
displayCart();
});
function displayCart() {
var cartArray = shoppingCart.listCart();
var output = "";
for(var i in cartArray) {
output += "<tr>"
+ "<td>" + cartArray[i].name + "</td>"
+ "<td>(" + cartArray[i].price + ")</td>"
+ "<td><div class='input-group'><button class='minus-item input-group-
addon btn btn-primary' data-name=" + cartArray[i].name + ">-</button>"
+ "<input type='number' class='item-count form-control' data-name='" +
cartArray[i].name + "' value='" + cartArray[i].count + "'>"
+ "<button class='plus-item btn btn-primary input-group-addon' data-
name="
+ cartArray[i].name + ">+</button></div></td>"
+ "<td><button class='delete-item btn btn-danger' data-name=" +
cartArray[i].name + ">X</button></td>"
+ " = "
+ "<td>" + cartArray[i].total + "</td>"
+ "</tr>";
}
$('.show-cart').html(output);
$('.total-cart').html(shoppingCart.totalCart());
$('.total-count').html(shoppingCart.totalCount());
}
// Delete item button
$('.show-cart').on("click", ".delete-item", function(event) {
var name = $(this).data('name')
shoppingCart.removeItemFromCartAll(name);
displayCart();
})
// -1
$('.show-cart').on("click", ".minus-item", function(event) {
var name = $(this).data('name')
shoppingCart.removeItemFromCart(name);
displayCart();
})
// +1
$('.show-cart').on("click", ".plus-item", function(event) {
var name = $(this).data('name')
shoppingCart.addItemToCart(name);
displayCart();
})
// Item count input
$('.show-cart').on("change", ".item-count", function(event) {
var name = $(this).data('name');
var count = Number($(this).val());
shoppingCart.setCountForItem(name, count);
displayCart();
});
displayCart();
var shoppingCart=(函数(){
// =============================
//私人方法和财产
// =============================
购物车=[];
//建造师
功能项(名称、价格、数量){
this.name=名称;
这个价格=价格;
this.count=计数;
}
//储蓄车
函数saveCart(){
setItem('shoppingCart',JSON.stringify(cart));
}
//装载车
函数loadCart(){
cart=JSON.parse(sessionStorage.getItem('shoppingCart');
}
if(sessionStorage.getItem(“shoppingCart”)!=null){
装载车();
}
//公共方法和属性
var obj={};
//添加到购物车
obj.addItemToCart=函数(名称、价格、计数){
用于(购物车中的var项目){
if(购物车[项目]。名称===名称){
购物车[商品]。计数++;
saveCart();
回来
}
}
var项目=新项目(名称、价格、数量);
推车推(物品);
saveCart();
}
//设置项目的计数
obj.setCountForItem=函数(名称、计数){
用于(购物车中的var i){
if(购物车[i].name==名称){
购物车[i]。计数=计数;
打破
}
}
};
//从购物车中删除项目
obj.removitemfromcart=函数(名称){
用于(购物车中的var项目){
if(购物车[项目]。名称===名称){
购物车[商品]。计数--;
如果(购物车[项目]。计数===0){
拼接车(项目1);
}
打破
}
}
saveCart();
}
//从购物车中删除所有项目
obj.removietemfromcartall=函数(名称){
用于(购物车中的var项目){
if(购物车[项目]。名称===名称){
拼接车(项目1);
打破
}
}
saveCart();
}
//清车
obj.clearCart=函数(){
购物车=[];
saveCart();
}
//计数车
obj.totalCount=函数(){
var totalCount=0;
用于(购物车中的var项目){
totalCount+=购物车[商品]。计数;
}
返回totalCount;
}
//总购物车
obj.totalCart=函数(){
var totalCart=0;
用于(购物车中的var项目){
totalCart+=购物车[项目]。价格*购物车[项目]。计数;
}
返回编号(totalCart.toFixed(2));
}
//列表购物车
obj.listCart=函数(){
var cartCopy=[];
对于(我在购物车中){
项目=购物车[i];
itemCopy={};
(项目中的p){
项目副本[p]=项目[p];
}
itemCopy.total=数量(item.price*item.count).toFixed(2);
cartCopy.push(itemCopy)
}
返回文本;
}
//购物车:阵列
//项目:对象/类
//附加部分:函数
//removeItemFromCart:函数
//removeItemFromCartAll:函数
//clearCart:函数
//countCart:函数
//totalCart:函数
//listCart:函数
//存储车:函数
//装载车:功能
返回obj;
})();
// *****************************************
//触发器/事件
// *****************************************
//添加项
$('.add to cart')。单击(函数(事件){
event.preventDefault();
变量名称=$(this.data('name');
var价格=数字($(this).data('price');
shoppingCart.addItemToCart(名称、价格、1);
displayCart();
});
//清除项目
$('.clear cart')。单击(函数(){
shoppingCart.clearCart();
displayCart();
});
函数displayCart(){
var cartary=shoppingCart.listCart();
var输出=”;
for(数组中的变量i){
输出+=“”
+“”+cartArray[i]。名称+“”
+“(“+cartary[i].price+”)”
+ "-"
+ ""
+ "+"
+“X”
+ " = "
+“”+cartArray[i]。总计+“”
+ "";
}
$('.show cart').html(输出);
$('.total cart').html(shoppingCart.totalCart());
$('.total count').html(shoppingCart.totalCount());
}
//删除项目按钮
$('.show cart')。在(“单击”、“.delete item”上,函数(事件){
变量名称=$(this.data('name'))
shoppingCart.removeItemFromCartAll(名称);
displayCart();
})
// -1
$('.show cart')。在(“单击”、“.减号项”上,函数(事件){
变量名称=$(this.data('name'))
shoppingCart.removeItemFromCart(名称);
displayCart();
})
// +1
$('.show cart')。在(“单击”、“.plus项”上,函数(事件){
变量名称=$(this.data('name'))
shoppingCart.addItemToCart(名称);
displayCart();
})
//项目计数输入
$('.show cart')。打开(“更改”、“.item count”,函数(事件){
变量名称=$(this.data('name');
var count=Number($(this.val());
shoppingCart.setCountForItem(名称、计数);
displayCart();
});
displayCart();
当html来自jsp时,请使用scriplet标记
当html由js驱动,js从api获取值时
尝试将id=“yourId”属性添加到具有total cart类的span元素
然后执行document.getElementById('yourId')。textContent=value您可以使用jQuery获得总价。
e、 g
在下面的函数中,您正在调用
totalCart()
:
function displayCart() {
..
$('.show-cart').html(output);
<!--here you got that total price-->
$('.total-cart').html(shoppingCart.totalCart());
$('.total-count').html(shoppingCart.totalCount());
}
Java是服务器端的,而JavaScript是客户端的。您可以尝试将变量存储在JSP中,并通过
将其提取到JavaScript中。您可以在div
中指定total
值的地方显示JavaScript
代码吗?添加请参见下面的触发事件,添加项目谢谢您的努力,但我仍然无法在billing.JSP中获得总价$10,实际上,在billing.jsp中,我没有得到任何价值
// Total cart
obj.totalCart = function() {
var totalCart = 0;
for(var item in cart) {
totalCart += cart[item].price * cart[item].count;
}
//setting value for input field.
document.getElementById('idofinput').value= Number(totalCart.toFixed(2));
return Number(totalCart.toFixed(2));
}