Javascript html表单标签的用途是什么
我不理解html中表单标记的用途 我可以轻松地完美地使用任何输入类型,而无需使用表单标记。围绕输入进行包装似乎是多余的 此外,如果我使用ajax调用服务器端页面,我只需使用jQuery即可。唯一的例外是,我注意到,出于某种原因,您必须在表单标记周围包装一个上载脚本 那么,为什么表单仍然广泛用于文本输入等简单的事情呢?这似乎是一件非常陈旧和不必要的事情Javascript html表单标签的用途是什么,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,我不理解html中表单标记的用途 我可以轻松地完美地使用任何输入类型,而无需使用表单标记。围绕输入进行包装似乎是多余的 此外,如果我使用ajax调用服务器端页面,我只需使用jQuery即可。唯一的例外是,我注意到,出于某种原因,您必须在表单标记周围包装一个上载脚本 那么,为什么表单仍然广泛用于文本输入等简单的事情呢?这似乎是一件非常陈旧和不必要的事情 我只是看不到它的好处或必要性。可能我遗漏了什么。HTML元素表示一个文档部分,其中包含向web服务器提交信息的交互控件 我们都熟悉html网页上的
我只是看不到它的好处或必要性。可能我遗漏了什么。HTML元素表示一个文档部分,其中包含向web服务器提交信息的交互控件 我们都熟悉html网页上的表单。出于许多不同的原因,人们或公司询问我们的电子邮件地址、名称和网站URL。如今,在互联网上购买产品几乎是轻而易举的事,随着安全设备的出现,用于提交详细信息和血汗钱的方法通常是通过表单执行的 更多信息
您缺少的是对语义标记和DOM的理解 实际上,你可以用HTML5标记做任何你想做的事情,大多数浏览器都会解析它。上次我检查时,WebKit/Blink甚至允许,这显然违反了规范——Gecko没有这么多。然而,就语义而言,对标记执行任何您喜欢的操作都将毫无疑问地使其无效 为什么我们把
元素放在
元素里面?出于同样的原因,我们将
标记放在
和
元素的内部-它们就在这里。它在语义上是正确的,并且有助于定义标记。语法正确时,解析器、屏幕阅读器和各种软件可以更好地理解您的标记——当标记具有意义而不仅仅是结构时
元素还允许您定义方法
和操作
属性,这些属性告诉浏览器提交表单时要做什么。AJAX并不是一个100%覆盖率的工具,作为一个web开发人员,你应该练习优雅的降级——表单应该能够提交,数据传输,即使关闭JS
最后,表单都在DOM中正确注册。我们可以通过JavaScript来了解这一点。如果您在此页面上打开控制台,并键入:
document.forms
您将在页面上获得所有表单的良好集合。搜索栏,评论框,答案框-所有正确的形式。该接口可用于访问信息以及与这些元素交互。例如,表单可以非常容易地进行编辑
以下是一些阅读材料:
元素可以在表单之外使用,但如果您打算以任何方式提交数据,则应使用表单
这是答案的一部分,我在这里把问题翻过来 我是如何通过避免形式让我的生活变得更艰难的? 首先是容器元素。谁需要他们,对吧 当然,您的小
和
元素嵌套在某种容器元素中?他们不能只是在其他事情的中间漂浮。那么如果不是一个
,那又怎样呢?A
?A
这些元素必须驻留在某个地方,除非您的标记乱七八糟,否则容器元素只能是一个表单
没有?哦
在这一点上,我脑海中的声音对于如何为所有这些不同的AJAX情况创建事件处理程序非常好奇。如果您需要减少标记以节省字节,那么一定有很多。然后,您必须为每个AJAX事件创建自定义函数,这些事件对应于每个元素的“集合”——您必须单独或通过类来针对这些元素,对吗?没有办法对这些元素进行一般性的分组,因为我们已经确定它们只是在标记周围游荡,做任何事情,直到需要它们为止
因此,您可以自定义一些处理程序的代码
$('searchButton')。在('click',函数(e)上{
e、 预防默认值();
var search=$(“#mySearch”);
$.ajax({
网址:'http://example.com/text',
键入:“GET”,
数据类型:“文本”,
数据:“query=”+search.val(),
成功:功能(数据){
控制台日志(数据);
}
});
});
$('#login')。在('click',函数(e){
e、 预防默认值();
var user=$(“#用户名”),
通过=$(“#密码”),
rem=$(“#记住”);
$.ajax({
网址:'http://example.com/login',
键入:“POST”,
数据:user.add(pass,rem).serialize(),
数据类型:“文本”,
成功:功能(数据){
控制台日志(数据);
}
});
});代码>
搜寻
保持登录状态
登录
如果您希望能够在不使用AJAX的情况下提交表单(这在开发的早期阶段可能很有用),那么表单标记仍然是必需的。但是,尽管可以使用javascript提交数据而不使用表单标记,但仍会想到一些好处:
在某些情况下,使用表单标记可以帮助人们阅读和理解您的代码,向他们展示您的意图
表单中提供了“提交”方法。如果您有一个带有输入[type=submit]的表单,并且该表单未被禁用,那么当有人在填写其他表单输入时点击“enter”时,该表单将被提交。您仍然可以通过监听输入元素上的“keydown”事件来实现这一点,但它是一个很好的ui,您可以通过表单标记免费获得它
还有一些其他东西只适用于表单标记,或者更容易使用表单标记。开发人员最终会遇到这些情况,并决定在任何地方都使用它们并避免问题更容易。真的吗