javascript - 将值传递给弹出窗口

标签 javascript html windows popupwindow

我有一些文本字段用于发送到弹出窗口(我想发送产品价格和产品名称):

<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 传递到弹出窗口“/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");
}

在新打开的窗口

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

关于javascript - 将值传递给弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36967171/

相关文章:

python - dir_util.copy_tree 不会打印它复制的文件

Python 64 位无法在 Windows HPC 上正确启动 (0xc00000cc)

javascript - 如何指定数组索引?

javascript - 在 VueJS 中使用 POST 请求提交表单

html - 为什么 YQL 会返回额外的标签?

javascript - D3 : How to assign style css to a specified id

windows - AWS CLI可以用Python2.7安装吗?

javascript - 我可以要求在网站上阅读短信吗

javascript - 如何仅更改省略号颜色..即..文本末尾的 3 个点

html - 如果前一个兄弟 float ,则 Flex 容器溢出