我无法弄清楚这种形式的“行动”意味着什么

时间:2012-11-07 09:31:05

标签: javascript html forms

有人可以解释使用此代码的表单是什么方法或方式吗?

<form method='post' enctype='multipart/form-data' target='gform_ajax_frame_1' id='gform_1' 
 action='/contact-us/#gf_1'>
</form>

我试图了解有关表单的更多信息,现在我正试图像我的一个朋友那样构建一个多部分表单。

我习惯用action="contact.php"表示,但这个表示action="/contact_us/#gf_1"。这是什么意思?

3 个答案:

答案 0 :(得分:2)

它是一个URI(尽管其中包含一个片段标识符,这对于表单操作来说是不常见的。)

有时,URI允许您推断服务器将使用哪些技术来为其生成响应。这不是那些URI之一。

它可能使用PHP。它可能不会。肯定有很多技术可以使用(PerlPythonJavaScriptRubyJava.NET等等等)。无法确定哪个 正在使用该HTML。

所涉及的技术应该只对有权更改它们的人有意义,并且那些人可以在服务器上查看如何处理URI。

由于所有这些都可以处理联系表单在服务器上需要的所有内容,因此了解该特定示例所使用的内容无法提供构建您自己的内容的任何信息。

答案 1 :(得分:2)

表格

行动指的是

在提交表单时发送表单数据的位置

,方法指

method属性指定如何发送表单数据(表单数据发送到action属性中指定的页面)。

表单数据可以作为URL变量发送(使用method =“get”),也可以作为HTTP post transaction发送(使用method =“post”)。

关于GET的说明:

  

将表单数据附加到名称/值对中的URL中URL的长度   有限(约3000个字符)绝不使用GET发送敏感信息   数据! (将在URL中显示)对表单提交有用,其中a   用户希望为结果添加书签GET更适合非安全数据,   比如Google中的查询字符串

关于POST的说明:

  

在HTTP请求的正文中添加表单数据(数据不是   显示在URL中)没有大小限制使用POST表单提交   无法加入书签

http://www.w3schools.com/tags/att_form_action.asp

http://www.w3schools.com/tags/att_form_method.asp

答案 2 :(得分:2)

<form action=""><a href="">类似 - 它指定了在提交表单时浏览器将请求的网址。

actionhref的网址可以是相对的,也可以是绝对的。 contact.php是相对于当前页面的,因此当提交具有该操作的表单时,浏览器将获取当前页面的URL,删除上一个/之后的所有内容,追加contact.php,以及将表单提交到该URL。 E.g。

  • http://stackoverflow.com/questions/13266788/contact.php

相比之下,/contact-us/#gf_1/开头,因此它相对于当前的。在这种情况下,浏览器将获取当前页面的域,将/contactus/#gf_1附加到该页面,然后在那里提交表单。 E.g。

  • http://stackoverflow.com/contact-us/#gf_1

在网址中,哈希(#)字符会启动fragment identifier。这是指页面上的锚点,在HTML中由指定的锚标记(例如<a name="gf_1"></a>)或任何标记上的id属性(例如<p id="gf_1"></p>)指示。

按照惯例,当浏览器转到带有片段标识符的URL时,它会在页面加载时将该片段标识符引用的锚点滚动到视图中。

片段标识符发送到服务器,因此它本身不会对表单提交产生任何影响。但是,页面上运行的JavaScript可以查看片段标识符,并可以基于它向服务器发送AJAX请求。