是否真的需要对表单采取措施?
-
29-10-2019 - |
题
在这里说这是必需的
http://www.w3schools.com/tags/att_form_action.asp
但是我看到即使我没有指定action属性,表单也会被提交,并且表单也将被提交到当前页面,这正是我想要的。
解决方案
仅按标准要求。完全有可能在页面上做任何您想做的而不遵循标准的事情。如果这样做,则可能无法正确显示或正常工作,但很可能会正确显示或正常工作。目标是关注它们,其思想是,如果您遵循它们,则您的页面将始终工作;您不必担心任何事情。
是的,需要该表单在HTML4中具有操作属性。如果未设置,浏览器可能会使用与向其提供空字符串相同的方法。您确实应该设置action=""
,它是完全有效的HTML4,遵循标准,并能达到相同的准确结果。
在HTML5中,您实际上可以对“提交”按钮本身指定一个操作。如果没有,则使用表单的操作,如果未设置,则默认为空字符串(请注意,在HTML5中,您不能将操作明确设置为空字符串)。
其他提示
它看起来像 HTML4规范要求。我怀疑某些浏览器会执行您想要的“使事情变得更轻松”的操作。我不建议依靠它。由于您的行为不确定,浏览器可以合理地决定不提交任何形式的表单时就不执行任何操作。
您可以在执行规范时通过将操作留为空白来获得所需的行为(因为它是相对的,空白表示当前页面): 通用标签
如bazmegakapa所述,HTML5规范似乎不需要action
属性:
action和formaction内容属性,如果已指定,则必须具有一个有效的非空URL值,该URL可能用空格包围。
有趣的是,这意味着在HTML5中,
action
无效,但是尚不清楚是否需要执行不带任何操作的表单(提交到当前页面)。
从技术上讲,这违反了HTML 4规范,但是如果未指定任何操作,则所有浏览器都会将其回发到响应的原始发件人。我同意依靠它不是一个聪明的主意,但是它确实有效。
编辑:正如我所指出的,这个问题被标记为HTML 5: 在HTML 5中,它们列出了不再需要的action属性: http://www.w3schools.com/html5 / att_form_action.asp ,它符合HTML 5规范。
//线程复活警报
延伸到动物的答案...
如果已评估完所有按钮的formaction
属性和表单action
属性,则如果“操作”仍评估为“空字符串”,则从HTML5.2规范部分 4.10.21.3 第8点指出:
如果action为空字符串,则让action为文档的URL 表单文件。
在提交表单时,这就是您想要的。