如果有两个或多个具有相同标签的<输入>,有没有办法告诉浏览器自动填充<表单中的特定字段>?- HTML、JS、React

Is there a way to tell the browser to autofill a specific field in a <form> if there are two or more <inputs> with the same label? - HTML, JS, React

提问人:ElBeefNugget 提问时间:11/16/2023 最后编辑:ElBeefNugget 更新时间:11/16/2023 访问量:26

问:

如果有两个或多个具有相同标签,浏览器是否能够自动填充特定字段?

我有一个看起来像这样的表格:

<form>
  <label>Card Number</label>
  <input type="text" name="cardNumber" id="cardNumber" />
  <br />
  <label>ZIP</label>
  <input type="text" name="billingZip" id="billingZip" />
  <br />
    <label>Street</label>
    <input type="text" name="street" id="street" />
    <br />
    <label>City</label>
    <input type="text" name="city" id="city" />
    <br />
    <label>ZIP</label>
    <input type="text" name="shippingZip" id="shippingZip" />
</form>

但自动完成始终填充第一个 ZIP 字段,而不是第二个;我希望自动完成来填充第二个字段。 我尝试在第二个ZIP输入和第一个ZIP输入中添加标签,但现在,这两个字段都没有填充。autoCompletenew-password

<form>
  <label>Card Number</label>
  <input type="text" name="cardNumber" id="cardNumber" />
  <br />
  <label>ZIP</label>
  <input type="text" name="billingZip" id="billingZip" autoComplete="new-password"/>
  <br />
    <label>Street</label>
    <input type="text" name="street" id="street" />
    <br />
    <label>City</label>
    <input type="text" name="city" id="city" />
    <br />
    <label>ZIP</label>
    <input type="text" name="shippingZip" id="shippingZip" autoComplete="postal-code" />
</form>

编辑1: 使用这样的字段集时,它也不起作用

<form>
  <fieldset>
    <label>Card Number</label>
    <input type="text" name="cardNumber" id="cardNumber" />
    <br />
    <label>ZIP</label>
    <input type="text" name="billingZip" id="billingZip" />
  </fieldset>
  <br />

  <fieldset>
    <label>Street</label>
    <input type="text" name="street" id="street" />
    <br />
    <label>City</label>
    <input type="text" name="city" id="city" />
    <br />
    <label>ZIP</label>
    <input type="text" name="shippingZip" id="shippingZip" />
  </fieldset>
</form>

代码沙盒在这里:https://codesandbox.io/s/delicate-meadow-wdwgrx?file=/src/App.js

JavaScript HTML ReactJS 表单

评论

0赞 Mike 'Pomax' Kamermans 11/16/2023
嗯,浏览器不应该关心标签,因为这不是输入字段节点,也不需要靠近它。但是,在标记说明上:如果您的输入具有属性,请使用 将标签标记为“针对该输入”。可能有帮助的一件事是使用字段集组织表单(特别是因为您有两组字段,一组用于运输,一组用于计费)。<label>id<label for="id-of-the-input">...</label>
0赞 chrwahl 11/27/2023
当你写“label”时,你指的是元素的文本内容还是用户写入元素的值?也许你也可以解释一下你最终想要实现的目标。<label><input>

答: 暂无答案