Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我应该使用表单标签吗?_Javascript_Jquery_Html_Webforms - Fatal编程技术网

Javascript 我应该使用表单标签吗?

Javascript 我应该使用表单标签吗?,javascript,jquery,html,webforms,Javascript,Jquery,Html,Webforms,我一直在使用jQuery来构建一个ajax密集型站点。我通常使用jQuery选择器来引用我想要与之交互(或从中检索值)的单个输入/按钮/文本区域/etc元素 今天早上我才意识到我已经很久没有使用表单标签了——我只是通过ajax请求来操纵一切。我的直觉告诉我这不好,但另一方面,这不是一个问题(而且我预计它不会很快成为一个问题,我们当前的所有需求都会得到满足) 需要注意的一点是:我不担心在没有JavaScript的情况下会出现优雅的降级(这是一个公司局域网;所有浏览器安装都受到严格监管,所有用户都知

我一直在使用jQuery来构建一个ajax密集型站点。我通常使用jQuery选择器来引用我想要与之交互(或从中检索值)的单个输入/按钮/文本区域/etc元素

今天早上我才意识到我已经很久没有使用表单标签了——我只是通过ajax请求来操纵一切。我的直觉告诉我这不好,但另一方面,这不是一个问题(而且我预计它不会很快成为一个问题,我们当前的所有需求都会得到满足)


需要注意的一点是:我不担心在没有JavaScript的情况下会出现优雅的降级(这是一个公司局域网;所有浏览器安装都受到严格监管,所有用户都知道有JavaScript)。说到这里,有什么理由我应该开始使用我没有看到的表单标签吗?好吧,表单元素应该进入。。。表格,对吗?(以及几乎所有HTML规范)并不要求在
元素中包含
元素等,但除非在标记中声明实际上存在表单,否则页面中实际上没有表单

我认为,如果jQuery也知道提交的是哪种表单,那么处理表单提交甚至会更容易

此外,您还需要考虑禁用JavaScript的用户。即使您不关心这些用户,如果jQuery/Ajax等没有处理“传统”表单提交,那么您的web应用程序能够处理这些表单提交仍然很重要。

是的

禁用JavaScript后,仍然可以使用将数据提交到服务器。考虑到有效的HTML规则,表单元素周围需要一个表单标记。而且,屏幕阅读器等辅助工具可以使用表单标签向用户提供更多信息


因此,您应该使用表单标记。:)

使用它们的一个很好的理由是,您可以轻松地在
上使用and,并且更轻松地使用HTTP POST(如您所述)。

是的,您应该仍然使用表单标记。如果您想真正做到技术性,那么最好同时使用非JavaScript回退。但不管怎样,继续使用
的主要原因是为了符合可访问性

当涉及到web可访问性时,表单确实是一个痛处。它们需要进行完美的操作,以便与屏幕阅读器或其他辅助技术顺利运行。事实上,根据美国残疾人法案和第508条法律法规,在线制作表格时需要所有这些标签。许多人会争辩说,联邦法规只适用于政府和州网站,但你可以,谁因网站可访问性问题被起诉

真的,遵守规则是个好主意。而且,就个人而言,使用或不使用AJAX提交表单都非常简单。例如,我目前有几个表单是必需的,它们可以在没有JavaScript的情况下使用。所有表单都通过JavaScript进行验证和提交(是的,它们也通过PHP脚本进行二次验证)。JavaScript提交到的脚本与常规表单通过cURL提交到的页面相同。一个处理页面用于两种不同的方法,结果相同(以JSON提供,并通过jQuery或PHP的
JSON\u decode
解码),只是JavaScript版本更干净、优雅、更无缝


总之,我觉得您的用户将从包含正确的标记而不是排除它们中受益更多,即使这些好处对您或他们来说并不明显。

表单标记将通过使用
序列化
jquery函数I dunno轻松创建post数据,但是,在表单中处理输入时,屏幕阅读器的行为可能与在div中处理输入时有所不同。Dunno,只是猜测:)放入
?是否有那么糟糕的伤害?是的……您是否考虑过使用jquery表单插件+ajaxForm@这不是“疼不疼”的问题——我的重点是,我不仅没有用过它,我甚至没有注意到我没有用过它。所以我只是想看看我错过了什么功能。谢谢你!谢谢你的意见。请注意,在我的最后一段中,我解释了它目前在一个企业环境中。在这里我保证启用JS。尽管如此,今天早上你的第一句话表达了我的想法,“等一下,这些表单元素不是应该以表单的形式出现吗?”于是我问为什么。谢谢在这种情况下,JS被禁用并不是问题,但是您的其他要点非常好。谢谢