div 与 form 实现表单的区别是 ?

用div + css 实现表单与用 form 实现表单,两者各有哪些优劣势,各自适合哪些场景呢?

阅读 7k
3 个回答

form 实现意味着可以使用原生表单的交互,比如 form 的同步提交,比如 form 里的 input 的 pattern 和 required。

如果不用原生交互的话,两者似乎没什么差别。现在一般用 div+css 实现,因为都是定制化的表单。而且现在一般是异步提交,意味着不需要用 form 的同步提交。另外,国外网站似乎更喜欢用 form 实现。

当然如果不用 form 的话,还要注意 HTML 的语义化,即让人能理解这个 div+css 是表单。

form 表单在写好比如 action method 的时候 内部表单项包含 name 属性 有submit的按钮 即使在禁用了javascript时,仍然可以与服务器做简单的数据交互。

个人认为是HTML语义化吧,因为从外观看来,div+css实现的表单和form元素看不出区别。
但是语义化是HTML的发展方向(看看HTML5出现的新标签就知道),而且也是搜索引擎友好的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题