我知道,这听起来像是一个奇怪的问题,我会尝试更清楚地解释这一点。我知道action
表单元素属性中包含的文件是将处理表单中输入的数据的文件的位置。
action
现在,在属性中包含一个 HTML 文件并让另一个文件处理数据是否有意义?这可能吗?
是的,这是可能的。例如,您可以在您从表单的 action 属性指向的文件中包含另一个文件。但是由于您希望它是一个 HTML 文件,所以您被卡住了(您不能将 HTML 文件包含到彼此中)。但是...如果您想处理表单,您可能希望执行一些服务器端代码,例如 PHP 或 ASP。比你有选择。1.指向PHP文件而不是HTML文件或使用一些url重写(通过一些.htacess文件或其他东西)将html文件重定向到您的服务器端脚本文件。
该action
属性是 HTTP POST 请求与提供的表单数据一起发送到的地方。
然后由action
URL 页面来处理这些数据并对其进行任何需要的处理。
如果您希望处理一个文件上的数据并重定向到另一个文件,您可以发布到将处理数据的 HTML,然后在该页面上自动重定向到第三页。
例如:
页1.html:
<form action="Page2.html">
页面2.html:
处理数据然后以某种方式自动重定向:
<script type="text/javascript">
window.location = "Page3.html";
</script>
Page3.html:
终于到了第三页。
对用户来说,这个过程是无缝的,看起来好像他们是Page1.html
直接到的Page3.html
,而您的数据处理是在Page2.html
.
它没有用,因为单独的 HTML 文件无法处理 HTTP 请求的所有部分。HTML 无法解析 header 和 body 中的数据。并且没有其他地方可以传递数据。所以 HTML 不能处理传递的数据。
但首先,请确保那些带有.html
扩展名的链接确实是 html 文件。不是隐藏在.html
扩展中的服务器端脚本!
笔记。Javascript 可以解析部分 GET 参数!看到这个答案。它展示了 Javascript 如何解析 GET 数据。因此,您可以创建一个应用程序,只需在表单上使用 GET 方法并使用纯 JS 来解析它。
只是我在action属性中看到了几个带有html文件的表单,所以我想知道是否可以在其他地方处理数据。
它可能只是名称上的静态 HTML 文件。URL 不能可靠地指示其背后的文件类型。表单目标可能是“隐藏”在处理数据的 .html 扩展名后面的服务器端脚本。
如果您想将数据发送到您在action
属性中调用的文件之外的其他地方,我想您可能会使用 JavaScript 来做到这一点。既然如此,您也可以使用 JavaScript 将用户发送到新的 HTML 页面。
这个问题的其他答案是有效的并且它们有效,但整个想法本身有点毫无意义。所以我的回答是:
是的。
没用的。