javascript - 在href中传递文本框值
问题描述
我有以下代码,并想传递qty1[]
到下面我标记为 XXXXXXX 的超链接。
有人可以帮我弄这个吗?
<td><img src="<?php echo $item["image"]; ?>" class="cart-item-image" /><?php echo $item["name"]; ?></td>
<td><?php echo $item["code"]; ?></td>
<td style="text-align:right;"> <input type = 'text' id = "qty1[]" name = "qty1[]" value = '<?php echo $item["quantity"]; ?>' /></td>
<td style="text-align:right;"><?php echo "$ ".$item["price"]; ?></td>
<td style="text-align:right;"><?php echo "$ ". number_format($item_price,2); ?></td>
<td style="text-align:center;"><a href="cart.php?action=remove&code=<?php echo $item["code"]; ?>" class="btnRemoveAction"><img src="icon-delete.png" alt="Remove Item" /></a></td>
<td style="text-align:center;"><a href="cart.php?action=update&code=<?php echo $item["code"]; ?>&quantity= XXXXXXXXX" class="btnRemoveAction"><img src="icon-delete.png" alt="Update Item" /></a></td>
</tr>
解决方案
您可以在数量变化发生时捕捉到数量变化,并相应地更新该链接的 href 属性。这个可测试的代码片段删除了你所有的 PHP 代码(只是为了测试目的),但是 javascript 可以直接添加到你的 PHP 页面并且可以工作。
一件事,你应该初始化那个链接href,以防数量没有改变
<a href="cart.php?action=update&code=<?php echo $item["code"]; ?>&quantity=<?php echo $item["quantity"]; ?>"
window.addEventListener('load', () => {
document.querySelectorAll('[name="qty1[]"]').forEach(input => {
input.addEventListener('input', (e) => {
let a = e.target.closest('tr').querySelector('a.btnRemoveAction');
let url = a.getAttribute('href').split("?");
let params = new URLSearchParams(url[1]);
params.set('quantity', e.target.value)
params = params.toString()
url = `${url[0]}?${params}`;
console.log(url)
a.setAttribute('href', url);
})
})
})
<table>
<tr>
<td><img src="img" class="cart-item-image" /> name</td>
<td>code </td>
<td style="text-align:right;"> <input type='text' id="qty1[]" name="qty1[]" value='10' /></td>
<td style="text-align:right;"> $3.99</td>
<td style="text-align:right;"> $3.99</td>
<td style="text-align:center;">
<a href="cart.php?action=remove&code=code" class="btnRemoveAction"><img src="icon-delete.png" alt="Remove Item" /></a>
</td>
<td style="text-align:center;">
<a href="cart.php?action=update&code=code&quantity=1" class="btnRemoveAction"><img src="icon-delete.png" alt="Update Item" /></a>
</td>
</tr>
</table>
推荐阅读
- ios - 您如何处理具有非 Apple 帐户系统的应用程序中的自动续订订阅?
- laravel - 包含句点/点 (.) 字符的 Laravel 路由
- python - 如何在 sklearn 中禁用 GLM(PoissonRegressor)的正则化?
- shell - 使终端光标闪烁
- html - 如何调整按钮css之间的间距
- php - 在管理员的 WooCommerce 电子邮件通知中显示自定义字段
- html - 如何使用 display: flex 使页眉占据网页的整个宽度;和 flex-direction: 正文中的列?
- oauth-2.0 - 如何使用 OAuth 2.0 使网页上空闲的用户超时,并要求重新输入凭据?
- azure-ad-b2c - Azure B2C 自定义策略令牌缺少信息
- javascript - 使用 Node.js 将 Raspberry Pi 连接到 Windows PC | 制作远程 GRBL 控件