【问题标题】:Single page applications and <form> elements单页应用程序和 <form> 元素
【发布时间】:2015-09-19 09:04:10
【问题描述】:

在单页应用程序的上下文中使用&lt;form&gt; 元素而不是&lt;div&gt; 元素还有什么好处吗?如果“表单”提交不是通过 ajax 调用进行的,&lt;form&gt; 元素的目的对我来说是有意义的(我说的是更传统的提交表单的方式,输入/按钮类型为“提交” " 以及描述要调用的 url 的表单元素的 action 属性),但除此之外我看不到它的实用性(也许对于搜索引擎?)。

【问题讨论】:

  • 1.表单元素明确您的意图。 2. 某些方法只适用于serialize()等形式
  • 供我参考,您所说的“序列化”方法是来自 PHP 吗?
  • 不,我的意思是来自 jquery。抱歉,应该说清楚
  • 啊,没问题!令人惊讶的是,我从未使用或需要这种方法,但很高兴知道。

标签: javascript html ajax forms single-page-application


【解决方案1】:

我认为答案是,不,如果您不打算“提交”表单,则不需要

辅助功能,我什么都不知道。

【讨论】:

  • 辅助功能是基于语义 HTML 标记和属性自动内置的。如果您不能使用正确的标记,您将损害您的应用程序的体验、搜索引擎优化和可访问性一致性。
【解决方案2】:
  1. 从语义上讲,使用&lt;form&gt; 比使用&lt;div&gt; 更清晰。
  2. 如果您仍然希望您的表单不使用 JavaScript,您最好选择&lt;form&gt;(因为您使用了应用程序这个词,虽然这可能不考虑)。
  3. 更重要的是,如果您确实关心可访问性,那么使用&lt;div&gt; 会非常痛苦。

【讨论】:

  • 完美!如果有人对为什么表单元素比实际表单中的 div 更好的争论有更多的争论,在单页应用程序的上下文中,请不要犹豫在下面发表评论。
  • 辅助功能不应该是可选的。使用语义 HTML 标记和相关属性轻松实现 SEO 和可访问性一致性。当框架在使用正确标记时出现故障时,很明显制造商一开始并不了解 HTML 的本质,这让我想知道那里还有哪些其他“宝石”在等着搞乱一致性和 SEO。
  • 使用 代替 。它就像一个魅力,当你真正想要发送数据时,你不需要任何额外的 JS 来重新启用提交表单。
猜你喜欢
  • 2017-10-21
  • 2013-02-17
  • 2017-11-01
  • 2018-06-29
  • 2015-05-09
  • 2013-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多