AJAX Web应用程序中是否需要表单标记?

时间:2010-04-24 14:14:59

标签: html ajax forms xmlhttprequest

我读了一些像this这样的AJAX-Form教程。标签表单用于HTML代码。但是,我认为没有必要。由于我们通过 XmlHttpRequest 发送HTTP请求,因此发送的数据可以是任何内容,而不是输入 格式

那么,是否有任何理由在HTML for AJAX应用程序中使用 form 标记?

4 个答案:

答案 0 :(得分:6)

除了已经讨论过的渐进式增强功能(不要让你的网站需要 JavaScript,直到确实需要),才需要<form> onsubmit来实现可靠性赶上Enter keypress提交。

(当然,您可以尝试在单独的表单字段上捕获按键,但它很脆弱,并且永远不会100%重现浏览器对表单提交的本机行为。)

答案 1 :(得分:5)

有时,使用ajax转换数据的网络应用使用表单作为后备,当用户没有启用JavaScript时(有时很昂贵但非常好事)。

否则,如果应用程序构建并发送AJAX请求,则没有令人信服的理由使用form,除非在极少数特殊情况下实际需要表单元素。在我的头顶:

  • 使用jQuery的表单序列化函数时
  • 监控表单中的所有字段以进行更改
  • 当需要使用reset form按钮时(据我所知,只有适当的<form>提供)。

答案 2 :(得分:3)

我至少看到两个可能的原因:

  • Graceful degradation (另请参阅Unobtrusive JavaScript:如果用户的浏览器未启用Javascript,您的网站仍应有效,使用普通的HTML。
  • 浏览器的行为:用户知道表单的外观和行为方式(自动完成,纠错,...);最好不要离那个太远


我想补充一点,如果您希望用户输入某些数据,那就是存在<form><input>标签的原因; - )

使用正确的标签还可以帮助用户 - 例如,考虑使用某些特定软件导航的盲人用户:这些软件可能具有表单输入字段的特定行为。

答案 3 :(得分:0)

这取决于你在做什么。如果您想要获取用户提交的表单内容并使用AJAX将其发送到某个地方,那么您将需要使用表单标记,以便您的用户可以在某处输入他们的数据。

有时你还没有从表格发送数据,在这种情况下,你不会有一个表格需要关注:)