HTML表单提交使用javascript vs提交按钮
html form submit using javascript vs submit button
为了方便,我一直在使用javascript提交HTML表单。我想知道与使用提交按钮
使用纯HTML更好,原因有很多:
- 如果你的用户没有启用JavaScript,或者你的代码中有JavaScript错误,你的表单仍然可以工作。
- 纯HTML表单更容易编写,也更难搞砸 一个真正的按钮在语义上比一个神奇的链接或div为您提交表单更好。这有助于标签排序,操作系统集成,屏幕阅读器等,并且对在你之后处理代码的程序员来说更清晰。浏览器已经有经过战斗测试的代码来提交表单。你为什么要毫无意义地重写代码?它增加了风险、复杂性和时间。
- 不写JavaScript代码意味着你有更多的时间做其他事情,比如不用再写代码了。
如果某些东西已经存在并且适用于你的用例,不要重新发明轮子!
我能想到的唯一缺点是,如果你需要重新加载页面,因为你正在集成一个旧的网站,每次重新生成HTML…但如果你正在构建一个新系统,或者它已经做到了,在我看来,它会更好。节省带宽,计算时间,重新渲染时间等。如果你说的只是提交一个HTML表单,那就没什么区别了。
不,真的没有缺点。你可能需要更多的代码,而不是把所有东西都包装在一个表单和提交按钮中,但你仍然可以利用https和其他网络可能提供的东西。
最主要的缺点是无法为禁用Javascript的访问者提供功能。当javascript被禁用时,你可以提供一个不同的重定向页面来同时支持这两个页面。
以下是用于检测和响应禁用javascript的方法列表:
-
<noscript>
HTML noscript标签。 - 使用jQuery或Javascript设置cookie 使用Javascript隐藏一个区域
就我个人而言,我不是HTML表单的粉丝。HTML是一种布局语言,而且是一种糟糕的布局语言。保持布局和功能的分离是面向对象编程的核心原则。您是否认为HTML和JavaScript以这种方式表示这些函数可能是个人的选择。你可以说CSS就是布局。
如果你正在编写一个简单的页面,那么使用HTML表单是个不错的主意。
如果你打算写一个规模不错的应用程序,有很多很好的特性,那么,至少对我来说,把它放在一个地方是有意义的。
如果你开始引入JSON或任何类型的客户/服务器关系,而不是"这是我的文本或下拉选项",那么请采用程序员的方法而不是网页设计师的方法。JavaScript为您提供了更多的灵活性。您可以与服务器聊天,而无需在页面上发生任何事情。
如果你使用像jQuery这样的库,编码开销是非常小的
- Javascript生成的表单未提交
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- setInteval vs setTimeout
- HTML表单提交时未执行外部函数
- $(this).prop('property') vs. this.property
- 在POST中将html表作为csv提交
- 我应该使用Ng提交还是点击表格
- 我想使用模态通过php文件发送邮件,并且我希望在提交关闭后关闭pop
- 提交后保留下拉选择的值
- 键入最后一位数字后自动提交
- 阻止表单元素提交
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- Jquery提交表单而不刷新
- 将图像上传ajax与表单提交ajax相结合
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 自定义表单验证和提交
- 带有验证和隐藏字段值的提交按钮
- 如何在 API 调用后和 if 语句中启用提交按钮
- HTML表单提交使用javascript vs提交按钮
- 使用AJAX登录vs完整表单提交(重新加载完整页面)