5

有人可以解释使用此代码的方法或表单如何工作吗?

<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"。这是什么意思?

4

3 回答 3

2

在表格中

动作指

提交表单时将表单数据发送到哪里

和方法是指

method 属性指定如何发送 form-data(form-data 发送到 action 属性中指定的页面)。

表单数据可以作为 URL 变量(使用 method="get")或作为 HTTP post 事务(使用 method="post")发送。

GET注意事项:

将表单数据以名称/值对的形式附加到 URL 中 URL 的长度是有限的(大约 3000 个字符) 切勿使用 GET 发送敏感数据!(将在 URL 中可见)对于用户想要为结果添加书签的表单提交很有用 GET 更适合非安全数据,例如 Google 中的查询字符串

POST注意事项:

在 HTTP 请求的正文中附加表单数据(数据未显示在 URL 中) 没有大小限制 不能为带有 POST 的表单提交添加书签

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

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

于 2012-11-07T09:39:59.640 回答
2

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

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

它可能使用 PHP。可能不会。当然有很多可以使用的技术(PerlPythonJavaScriptRubyJava.NET等)。无法从该 HTML 中判断正在使用哪个。

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

由于它们都可以处理服务器上联系表单所需的所有内容,因此了解该特定示例使用的内容不会为构建您自己的示例提供任何见解。

于 2012-11-07T09:33:19.790 回答
2

<form action="">就像<a href="">- 它指定提交表单时浏览器将请求的 URL。

两者的 URLaction可以href是相对的或绝对的。contact.php是相对于当前页面的,因此当提交具有该操作的表单时,浏览器将获取当前页面的 URL,删除 last /、 append之后的所有内容,并将contact.php表单提交到该 URL。例如

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

相反,/contact-us/#gf_1以 a 开头/,因此它与当前相关。在这种情况下,浏览器将获取当前页面的域,附加/contactus/#gf_1到该域,并在那里提交表单。例如

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

在 URL 中,散列 ( #) 字符以片段标识符开头。这指的是页面上的锚点,在 HTML 中由命名的锚标记(例如<a name="gf_1"></a>)或任何标记上的 id 属性(例如 )指示<p id="gf_1"></p>

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

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

于 2012-11-07T09:57:29.120 回答