【发布时间】:2016-05-03 10:39:19
【问题描述】:
我的页面中有包含产品名称和价格的表格。附近只有一行有一个按钮“下订单”。当我单击它时,我会弹出一个窗口。我必须将我的姓名和价格传递给这个弹出窗口。
<script type="text/javascript">
function show(state){
document.getElementById('window').style.display = state;
document.getElementById('wrap').style.display = state;
}
</script>
<div onclick="show('none')" id="wrap"></div>
<!-- Popup Window -->
<div id="window">
<img class="close" onclick="show('none')" src="/images/close.png">
<form onsubmit="return checkForm(this)" action="/user/confirmOrder">
<p>Address:</p>
<input type="text" name="address">
<p>Count:</p>
<input type="text" id="count" name="count">
<p id='err_count' class='error'></p>
<input type="hidden" name="username" value="${pageContext.request.userPrincipal.name}">
<br>
NameProduct:
<input type="text" id="nameProduct" name="nameProduct">
<input type="text" id="priceProduct" name="priceProduct">
<input type="submit" value="Make order">
</form>
</div>
<table border="2px">
<tr>
<th>Name</th>
<th>Price</th>
</tr>
<c:forEach items="${productList}" var="product" varStatus="status">
<tr>
<td> ${product.getProductName()}</td>
<input type="hidden" id="productName" name="productName" value=${product.getProductName()}>
<td>${product.getPrice()}</td>
<input type="hidden" id="productPrice" name="productPrice" value=${product.getPrice()}>
<td>
<button class="myButton" onclick="show('block')">Make Order</button>
</td>
</tr>
如何传递给我的弹出窗口名称和价格选择行?早期我使用window.open() 并且它有效,但现在我使用 div 来创建弹出窗口。
【问题讨论】:
-
我点击我的按钮
<button class="myButton" onclick="show('block')">Make Order</button> -
我的弹出窗口 id 是
<div id="window"> -
你现有的代码还有一个问题,你的
重复创建了多个具有相同 ID、“productName”和“productPrice”的隐藏字段,这会导致很多问题。每个元素的 ID 应该是唯一的。两个或多个元素永远不能有相同的 id。 -
是的,但是有表格,每个按钮只有一行
-
您可以采用任何一种方式,但 window.open() 会是一种更好的方式。还要记住,每个元素的 Id 应该是唯一的。两个或多个元素永远不能有相同的 id。
标签: javascript html css jsp popupwindow