关于html name 和id,Form input without an associated label or title attribute

这不是一个错误,它建议将标签与UX方便起见相应的表单元素。例如为名称字段:

然后给出一个示例

<label for="name">Nazwa:</label>
<textarea class="form-control" id="name" name="newTodo" data-ng-model="formData.newTodo" required></textarea>

让label的for指向input的id,这样click这个label时,input会获得焦点。

那name和id的关系呢

ID就像是一个人的身份证号码,而Name就像是他的名字,ID显然是唯一的,而Name是可以重复的。

以下只能用name:

1. 表单(form)的控件名,提交的数据都用控件的name而不是id来控制。

因为有许多name会同时对应多个控件,比如 checkbox和radio,而id必须是全文档中唯一的。此外浏览器会根据name来设定发送到服务器的request。因此如果用id,服务器是无 法得到数据的。

2. frame和window的名字,用于在其他frame或window指定target。

以下只能用id:

1. label与form控件的关联, for属性指定与label关联的元素的id,不可用name替代。

2. CSS的元素选择机制,

原文地址:https://www.cnblogs.com/John-/p/6985872.html