制作网上订单页面,具体要求如下:单击“增加订单”按钮,可增加订单行,可自己输入商品名称,数量和价格。单击“确定”按钮后保存订单,“确定”按钮变为“修改”按钮。单击“删除”按钮可删除一行订单。单击“修改”按钮可对商品的名称,数量和价格和进行修改。要这个代码
时间: 2025-01-03 12:44:22 浏览: 4
制作这样的网上订单页面涉及到前端HTML、CSS以及JavaScript或者相关的框架如React、Vue或Angular等。以下是一个简化版的HTML和JavaScript示例,用于展示基本功能:
```html
<!DOCTYPE html>
<html lang="zh">
<head>
<title>订单页面</title>
<style>
.order-row {
display: flex;
}
</style>
</head>
<body>
<table id="orderTable">
<thead>
<tr>
<th>商品名称</th>
<th>数量</th>
<th>价格</th>
<th>操作</th>
</tr>
</thead>
<tbody id="orderItems">
</tbody>
</table>
<button onclick="addRow()">增加订单</button>
<button onclick="saveOrder()" disabled>确定</button>
<button onclick="deleteRow()">删除</button>
<button onclick="toggleAction()">切换到修改模式</button>
<script>
let orderRows = [];
function addRow() {
const newRow = document.createElement('tr');
newRow.innerHTML = `
<td><input type="text" class="product-name"></td>
<td><input type="number" class="quantity"></td>
<td><input type="number" class="price"></td>
<td><button>删除</button></td>
`;
newRow.querySelector('button').onclick = deleteRowHandler(newRow);
document.getElementById('orderItems').appendChild(newRow);
}
function deleteRowHandler(row) {
return () => {
row.remove();
updateButtonsState();
};
}
function saveOrder() {
// 这里只是一个示例,实际应用中你需要处理数据并存储
console.log(orderRows);
toggleAction();
}
function deleteRow() {
if (event.target.tagName === 'BUTTON') {
event.target.parentElement.remove();
}
}
function toggleAction() {
saveOrderButton.classList.toggle('modify');
if (saveOrderButton.classList.contains('modify')) {
saveOrderButton.textContent = '修改';
} else {
saveOrderButton.textContent = '确定';
}
}
function updateButtonsState() {
const isAnyItem = Array.from(document.getElementsByClassName('order-item')).some(
row => !row.querySelector('.quantity').value || !row.querySelector('.price').value
);
saveOrderButton.disabled = !isAnyItem;
}
window.addEventListener('DOMContentLoaded', function() {
updateButtonsState(); // 初始化状态
});
</script>
</body>
</html>
```
阅读全文