No puedo entender lo que significa esta forma de "acción"

¿Podría alguien explicar qué método o cómo funciona un formulario que utiliza este código?

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

Estoy tratando de aprender más sobre formularios, y ahora estoy tratando de build una forma multiparte como lo hizo uno de mis amigos.

Estoy acostumbrado a los formularios que dicen action="contact.php" pero este dice action="/contact_us/#gf_1" . Qué significa eso?

En forms

La acción se refiere

a Dónde enviar los datos del formulario cuando se envía el formulario

y los methods se refieren a

El atributo de método especifica cómo enviar datos de formulario (los datos de formulario se envían a la página especificada en el atributo de acción).

Los datos de formulario se pueden enviar como variables de URL (con method = "get") o como HTTP post transaction (con method = "post").

Notas sobre GET:

Agrega datos de formulario a la URL en pares de nombre / valor. La longitud de una URL es limitada (alnetworkingedor de 3000 caracteres). Nunca use GET para enviar datos confidenciales. (será visible en la URL) Útil para presentaciones de formularios donde un usuario desea marcar el resultado GET es mejor para datos no seguros, como cadenas de consulta en Google

Notas sobre POST:

Agrega datos de formulario dentro del cuerpo de la request HTTP (los datos no se muestran en la URL) No tiene limitaciones de tamaño. Las presentaciones de formulario con POST no se pueden marcar como favoritos.

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

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

<form action=""> es como <a href=""> – especifica la URL que el browser solicitará cuando se <a href=""> el formulario.

La URL tanto para la action como para href puede ser relativa o absoluta. contact.php es relativo a la página actual, de modo que cuando se envía un formulario con esa acción, el browser tomará la URL de la página actual, eliminará todo después de la última / , anexará contact.php y enviará el formulario a esa URL. P.ej

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

Por el contrario, /contact-us/#gf_1 comienza con a / , por lo que es relativo al dominio actual. En este caso, el browser tomará el dominio de la página actual, añadir /contactus/#gf_1 a eso y enviar el formulario allí. P.ej

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

En las URL, el carácter hash ( # ) inicia el identificador de fragment . Esto se refiere a un punto de anclaje en la página, indicado en el HTML por una label de ancla nombrada (por ejemplo, <a name="gf_1"></a> ) o un atributo de identificación en cualquier label (por ejemplo, <p id="gf_1"></p> ).

Por convención, cuando un browser va a una URL con un identificador de fragment, desplazará el punto de ancla referido por ese identificador de fragment a la vista cuando se carga la página.

El identificador de fragment no se envía al server, por lo que no tendrá ningún efecto en el envío de un formulario. Sin embargo, JavaScript que se ejecuta en la página puede mirar el identificador de fragment y enviar una request AJAX al server en function de ello.

Es un URI (aunque uno con un identificador de fragment, lo cual es inusual para una acción de formulario).

A veces, un URI le permite inferir qué tecnologías utilizará el server para generar la respuesta. Este no es uno de esos URI.

Puede usar PHP. Puede que no. Sin duda hay muchas tecnologías que se podrían usar ( Perl , Python , JavaScript , Ruby , Java , .NET , etc., etc.). No hay forma de saber qué se está utilizando desde ese HTML.

Sin embargo, las tecnologías involucradas solo deberían importar a las personas que tienen acceso para cambiarlas, y esas personas pueden consultar el server para ver cómo se manejará el URI.

Dado que todos ellos pueden manejar todo lo que un formulario de contacto necesitaría en el server, saber lo que utiliza ese ejemplo particular no proporcionaría ningún conocimiento sobre cómo build uno propio.