Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将多个值从javascript返回到jsp_Javascript_Java_Jquery_Jsp - Fatal编程技术网

如何将多个值从javascript返回到jsp

如何将多个值从javascript返回到jsp,javascript,java,jquery,jsp,Javascript,Java,Jquery,Jsp,我正在尝试以名称显示多个水果 <input type ="text" id="fruitsname" name="fruit/> --------------home.jsp--------------------- <a href="#" data-name="Orange" data-price="5" class="add-to-cart btn btn-primary">Add to cart</a> // Adding

我正在尝试以名称显示多个水果

    <input type ="text" id="fruitsname" name="fruit/>       
--------------home.jsp---------------------

  <a href="#" data-name="Orange" data-price="5" class="add-to-cart btn 
 btn-primary">Add to cart</a> // Adding Orange after clicking on Add to cart
  <a href="#" data-name="Banana" data-price="5" class="add-to-cart btn btn- 
  primary">Add to cart</a> // Adding Banana after clicking on Add to cart


  <form name="billing" action="billing.jsp">           
  <input type="text" id="fruitsname"name="fruits"/> // returning 
  fruits name from JS file in function displayCart() written towards last of 
  JS file
  <input type="submit"/>
  </form> 
//单击“添加到购物车”后添加橙色
//单击“添加到购物车”后添加香蕉
//返回
函数displayCart()中JS文件中的水果名称写入
JS文件
---------------------JS文件----------------

  <a href="#" data-name="Orange" data-price="5" class="add-to-cart btn 
 btn-primary">Add to cart</a> // Adding Orange after clicking on Add to cart
  <a href="#" data-name="Banana" data-price="5" class="add-to-cart btn btn- 
  primary">Add to cart</a> // Adding Banana after clicking on Add to cart


  <form name="billing" action="billing.jsp">           
  <input type="text" id="fruitsname"name="fruits"/> // returning 
  fruits name from JS file in function displayCart() written towards last of 
  JS file
  <input type="submit"/>
  </form> 
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+=购物车[项目]。价格*购物车[项目]。计数;
}
document.getElementById('idofinput')。value=Number(totalCart.toFixed(2));
//在这里,我给出了一个输入“IDOFINPUT”,以在表单中的输入类型中调用它
home.jsp
返回编号(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]。总计+++;”
document.getElementById('fruitsname')。value=cartArray[i]。name;//重新调整
水果名称返回home.jsp,但只返回一个水果名称,而不是
多水果名
$('.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();

使用
request.getParameterValues(“水果”)获取所有输入元素的值,使用
name=“fruits”
使用
request.getParameterValues(“fruits”)以获取所有输入元素的值,使用
name=“fruits”

查看,然后将该值分配给
input
字段,然后在
jsp
中分配该数组值。确定..尝试使用我的代码我只得到一个水果名称,而不是多个名称,如何从js文件中获取多个名称?查看并将该值分配给您的
input
字段,然后在
jsp
中分配该数组值。好的..尝试使用我的代码我只获取一个水果名称而不是多个名称,如何从js文件中获取多个名称?
 var shoppingCart = (function() {
 // =============================
 // Private methods and properties
 // =============================
 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;
 }

 document.getElementById('idofinput').value=Number(totalCart.toFixed(2)); 
 // Here I gave an input "IDOFINPUT" to call it in input type in form in 
  home.jsp

 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>";}

 document.getElementById('fruitsname').value= cartArray[i].name; //retuning 
  fruits name to home.jsp but returning only one fruit name instead of 
 multiple fruits name

 $('.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();