HTML表单提交使用javascript vs提交按钮

html form submit using javascript vs submit button

本文关键字:vs 提交 按钮 javascript 表单提交 HTML      更新时间:2023-09-26

为了方便,我一直在使用javascript提交HTML表单。我想知道与使用提交按钮

使用经典表单提交相比,这种方法是否有任何缺点

使用纯HTML更好,原因有很多:

  • 如果你的用户没有启用JavaScript,或者你的代码中有JavaScript错误,你的表单仍然可以工作。
  • 纯HTML表单更容易编写,也更难搞砸
  • 一个真正的按钮在语义上比一个神奇的链接或div为您提交表单更好。这有助于标签排序,操作系统集成,屏幕阅读器等,并且对在你之后处理代码的程序员来说更清晰。浏览器已经有经过战斗测试的代码来提交表单。你为什么要毫无意义地重写代码?它增加了风险、复杂性和时间。
  • 不写JavaScript代码意味着你有更多的时间做其他事情,比如不用再写代码了。

如果某些东西已经存在并且适用于你的用例,不要重新发明轮子!

我能想到的唯一缺点是,如果你需要重新加载页面,因为你正在集成一个旧的网站,每次重新生成HTML…但如果你正在构建一个新系统,或者它已经做到了,在我看来,它会更好。节省带宽,计算时间,重新渲染时间等。如果你说的只是提交一个HTML表单,那就没什么区别了。

不,真的没有缺点。你可能需要更多的代码,而不是把所有东西都包装在一个表单和提交按钮中,但你仍然可以利用https和其他网络可能提供的东西。

最主要的缺点是无法为禁用Javascript的访问者提供功能。当javascript被禁用时,你可以提供一个不同的重定向页面来同时支持这两个页面。

以下是用于检测和响应禁用javascript的方法列表:

  1. <noscript> HTML noscript标签。
  2. 使用jQuery或Javascript设置cookie
  3. 使用Javascript隐藏一个区域

就我个人而言,我不是HTML表单的粉丝。HTML是一种布局语言,而且是一种糟糕的布局语言。保持布局和功能的分离是面向对象编程的核心原则。您是否认为HTML和JavaScript以这种方式表示这些函数可能是个人的选择。你可以说CSS就是布局。

如果你正在编写一个简单的页面,那么使用HTML表单是个不错的主意。

如果你打算写一个规模不错的应用程序,有很多很好的特性,那么,至少对我来说,把它放在一个地方是有意义的。

如果你开始引入JSON或任何类型的客户/服务器关系,而不是"这是我的文本或下拉选项",那么请采用程序员的方法而不是网页设计师的方法。JavaScript为您提供了更多的灵活性。您可以与服务器聊天,而无需在页面上发生任何事情。

如果你使用像jQuery这样的库,编码开销是非常小的