有一个HTML文件,action属性没用吗?

时间:2012-06-21 08:42:18

标签: html forms

我知道,这听起来像一个奇怪的问题,我会试着更清楚地解释一下。我知道表单元素的action属性中包含的文件是处理表单中输入数据的文件的位置。

现在,在action属性中包含HTML文件并让数据由另一个文件处理是否有意义?这可能吗?

5 个答案:

答案 0 :(得分:1)

是的,这是可能的。例如,您可以在表单的action属性中指向要指向的文件中的另一个文件。但是,由于您希望将其作为HTML文件,因此您将陷入困境(您无法将HTML文件相互包含在内)。但是......如果你想处理表单,你可能想要执行一些服务器端代码,就像PHP或ASP一样。比你有选择。 1.指向PHP文件而不是HTML文件或使用一些url重写(通过一些.htacess文件或其他东西)将html文件重定向到服务器端脚本文件。

答案 1 :(得分:1)

action属性是使用提供的表单数据发送HTTP POST请求的位置。

然后由action网址页面来处理这些数据,并根据需要做任何事情。

如果您希望处理一个文件上的数据并重定向到另一个文件,您可以发布到将处理数据的HTML,然后在该页面上自动重定向到第3页。


例如:

<强> Page1.html:

<form action="Page2.html">

<强> Page2.html:

处理数据然后以某种方式自动重定向:

<script type="text/javascript">
window.location = "Page3.html";
</script>

<强> Page3.html:

最后到达第3页。


对于用户来说,此过程似乎是无缝的,看起来好像是从Page1.html直接转到Page3.html,而您的数据处理是在Page2.html处理的。

答案 2 :(得分:1)

单独使用HTML文件无法处理HTTP请求的所有部分。 HTML无法解析标题和正文中的数据。而且没有其他地方可以传递数据。所以HTML无法处理传递的数据。

但首先,确保那些带有.html扩展名的链接真的是html文件。不是.html扩展名中隐藏的服务器端脚本!

注意。 Javascript可以解析部分GET参数!见this answer。它显示了Javascript如何解析GET数据。因此,您可以在表单上使用GET方法创建应用程序,并使用普通JS来解析它。

答案 3 :(得分:1)

  

只是我在action属性中看到了几个带有html文件的表单,所以我想知道数据是否可以在其他地方处理。

它可能只是名称的静态HTML文件。 URL不是它背后是什么类型文件的可靠指示器。表单目标可能是一个服务器端脚本,“隐藏”在处理数据的.html扩展名后面。

答案 4 :(得分:0)

如果您想将数据发送到action属性中调用的文件以外的其他位置,我想您可能会使用JavaScript执行此操作。既然如此,您也可以使用JavaScript将用户发送到新的HTML页面。

这个问题的其他答案都是有效的并且有效,但整个想法本身有点无意义。所以我的答案是:

没用。