我正在尝试datalist
为旧浏览器实现一个具有内置后备功能的元素,如 w3 datalist 元素规范所示:
<form action="http://example.com/" method="GET">
<label>
Sex:
<input name="sex" list="sexes" />
</label>
<datalist id="sexes">
<label>
or select from the list:
<select name="sex">
<option value="" />
<option>Female</option>
<option>Male</option>
</select>
</label>
</datalist>
<input type="submit" />
</form>
但是,具有相同名称的 an<input type="text">
和 thedatalist
两者的组合(回退所需)会导致“sex”参数在查询字符串中出现两次。
表单提交在 SO 代码片段中不起作用,因此请参阅此小提琴。提交“男性”时,网络选项卡会在提交时显示一个请求,上面写着http://www.example.com/?sex=male&sex=
。
这会导致后端代码出现一些不稳定的行为(不幸的是,我现在无法修改)。如何在保持回退的同时防止双重参数?