在 href 中传递文本框值
Passing textbox value in 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>
您可以在数量发生变化时捕捉到它并相应地更新 link 的 href 属性。此可测试代码段删除了您所有的 PHP 代码(仅用于测试目的),但 javascript 可以直接添加到您的 PHP 页面并且会起作用。
有一件事,你应该初始化 link 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;"> .99</td>
<td style="text-align:right;"> .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>
我有以下代码,想将 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>
您可以在数量发生变化时捕捉到它并相应地更新 link 的 href 属性。此可测试代码段删除了您所有的 PHP 代码(仅用于测试目的),但 javascript 可以直接添加到您的 PHP 页面并且会起作用。
有一件事,你应该初始化 link 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;"> .99</td>
<td style="text-align:right;"> .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>