我正在从事一个大型Web应用程序项目,之前的设计师更喜欢使用ID作为表单字段的句柄,而不是使用名称属性。我认为这样做的一个优点是,通过ID查找该字段比通过名称属性更快。
然而,我现在遇到的一个大问题是,ID具有全局范围。我想将一组大型数据库列名重构为更标准的命名方案,其中不包括任何列名前缀以标识列属于哪个表。这将在使用ID的那些表单中引起问题,因为字段ID直接对应列名。列名例如"zon_name"和"pro_name"现在都将变成"name",这将在HTML中导致非唯一ID。
因此,在尝试通过将所有表单更改为使用名称属性而不是ID来解决此作用域问题之前,是否有其他原因我没有考虑过,原始开发人员可能使用ID除了它们的查找速度之外?
在这里,我有一个问题...在此长篇介绍之前,感谢勇敢阅读并给出好的答案的人。谢谢!
然而,我现在遇到的一个大问题是,ID具有全局范围。我想将一组大型数据库列名重构为更标准的命名方案,其中不包括任何列名前缀以标识列属于哪个表。这将在使用ID的那些表单中引起问题,因为字段ID直接对应列名。列名例如"zon_name"和"pro_name"现在都将变成"name",这将在HTML中导致非唯一ID。
因此,在尝试通过将所有表单更改为使用名称属性而不是ID来解决此作用域问题之前,是否有其他原因我没有考虑过,原始开发人员可能使用ID除了它们的查找速度之外?
在这里,我有一个问题...在此长篇介绍之前,感谢勇敢阅读并给出好的答案的人。谢谢!
id
的两个原因都可以避免。将表单元素包装在label
中并避免使用for
。仅对form
使用id
进行快速查找,然后使用name
访问表单字段。 - Micfor
拥有更好的浏览器支持,并且允许比将控件放在表单内更灵活的布局。 - Quentin