1

随着 Ajax 和动态页面似乎接管了 Internet,何时应该使用 HTML 表单?我可以想到几个地方(登录页面,或者实际上任何不会动态更改的静态页面)

真正想到的是像淘汰赛这样的事情,你有一个可以控制页面上的 HTML 的模型。您实际上不必进行表单提交,因为您有 json 中的模型,您只需执行 Ajax 调用即可将数据发送到服务器。

我一直认为表单比仅仅执行 ajax 请求增加了额外的保护,尽管我知道你永远不应该相信用户输入。

4

3 回答 3

1

表单基本上用于用户输入。为什么只在通过 AJAX 时使用<form>over ?GetElementById就在今天,我遇到了一个类似的问题,我得出的结论是,我可以使用这段代码:

$("#YOUR_FORM").submit( function () {    
    serialized = $(this).serializeArray(); // <-- this saves time

除此之外,<form>在现代的基于 jQuery 的应用程序中是否需要?据我所知,但也许比我更有经验的人会知道原因。另外我想它增加了一些组织......

如果您不熟悉该功能,它会为您收集表单数据并将其放入$_POST数组中,无论您要发布到什么服务器端文件。

于 2013-11-06T00:05:08.423 回答
0

我仍然在我的大多数应用程序上使用表单,我只是使用 AJAX/JavaScript 来拦截 form.submit() 来验证我的输入。

以下是其他原因,为什么仍然使用表单:

  1. 每当用户在文本输入上按 ENTER 时,它都会提交表单,因此无需处理 keypress=13 。
  2. 您还可以在输入标签上使用“必需”属性并让浏览器处理验证。

请注意,如果您的 JavaScript 失败、出现错误或您的 CDN 无法加载,如果您使用普通表单,您的应用程序应该仍然能够生存。

于 2013-11-06T00:06:43.397 回答
-1

例如,如果你想支持文件上传,同时又想避免 3rd 方插件,如applets,FlashSilverlight.

基本上AJAX不支持multipart数据。我见过带有文件字段的表单,这些字段<iframe>旨在模拟 AJAX“外观”,但只能做这么多。

于 2013-11-06T00:03:15.933 回答