将值传递给弹出 window

Pass value to popup window

我有一些要发送到弹出窗口的文本字段 window(我想发送 productPrice 和 productName):

<tr>
  <form>
  <td> ${product.getProductName()}</td>
    <input type="hidden" name="productName" value=${product.getProductName()}>
  <td>${product.getPrice()}</td>
    <input type="hidden" name="productPrice" value=${product.getPrice()}>
  <td>
    <input type="button" onclick="makeOrder()" value="Make order"/>
  </td>
  </form>
</tr>

JS:

 <script type="text/javascript">

function makeOrder(){
  window.open("/user/makeOrder","","height=250,width=400,status=no,location=no,toolbar=no,directories=no,menubar=no");
}

如何将变量 ProductName 和 ProductPrice 传递给弹出窗口 window“/user/makeOrder”?

您可以将 ProductNameProductPrice 作为查询字符串传递给新的 location,然后使用 search.split()while 循环为对象设置属性和值。

function makeOrder(name, price){
  window.open("/user/makeOrder?ProductName=" + name + "&ProductPrice=" + price,""
 ,"height=250,width=400,status=no,location=no,toolbar=no,directories=no,menubar=no");
}

新开window

var params = location.search.split(/\?|=|&/).filter(Boolean);
var obj = {}, i = 0;
while (i < params.length) {
  obj[params[i]] = params[++i];
  ++i;
}
console.log(obj)