道歉,如果这是一个愚蠢的,但这是漫长的一天。 所以我的表格看起来像这样......
<form action="/basket.php" method="get">
.co.uk
<select name="years">
<option value="1">1 year</option>
<option value="2">2 years</option>
<option value="3">3 years</option>
<option value="4">4 years</option>
<option value="5">5 years</option>
</select>
<input type="checkbox" name="url" value=".co.uk">
<br>
.com
<select name="years">
<option value="1">1 year</option>
<option value="2">2 years</option>
<option value="3">3 years</option>
<option value="4">4 years</option>
<option value="5">5 years</option>
</select>
<input type="checkbox" name="url" value=".com">
<button type="submit">
</form>
假设我只勾选.com
参数并将年份更改为3年。
我目前得到的URL如下:
/basket.php?years=1&url=.com&years=3
我想要的是......
/basket.php?url=.com&years=3
实际表单包含更多选项,但我只想提交勾选最后一个复选框的“行”。
希望这有意义!非常感谢提前。
答案 0 :(得分:1)
首先,如果您的两个复选框是互斥的,您希望使用单选按钮,以便只能检查一个,如下所示:
<input type="radio" name="url" value=".com"/>
<input type="radio" name="url" value=".co.uk"/>
假设您正在寻找一个PHP解决方案而不是一个使用JavaScript的解决方案,我建议您将表单POST
改为basket.php
,这应根据{的值确定要保留的输入{1}},然后使用相应的$_POST['url']
值重定向。
另请注意,您应为years
元素使用不同的name
元素,以便区分它们。
话虽如此,最好的选择是使用两个select
元素,但这需要两个提交按钮或JavaScript来执行提交。
此外,如果它们共享form
的相同选项,您可以删除重复的years
以简化操作。