2011-11-02 58 views
27

He leído en alguna parte, que usar una etiqueta de anclaje para enviar un formulario no es muy seguro, entonces esa es mi pregunta: ¿es seguro usar una etiqueta de anclaje en lugar de <button> o <input type="submit" /> para enviar un formulario? Y si no lo es, ¿por qué? El problema es que tengo una clase de CSS para un botón, que muestra lo que quiero en <a class="button">, pero si lo agrego a un botón real, agrega un borde extraño que no quiero.¿Es seguro utilizar el ancla para enviar el formulario?

Gracias

+0

Usted debe tratar el estilo de su '' para satisfacer sus necesidades. Por favor, publique CSS de su versión actual para que podamos encontrar una manera de eliminar el borde extraño :) – dwalldorf

+0

Gracias, ya arreglé el borde. Solo definí el borde superior e inferior, por lo que estaba el borde predeterminado en los lados. – ItsGreg

Respuesta

49

Para utilizar un ancla para enviar un formulario requeriría el uso de JavaScript para conectar los eventos. No es seguro que si un usuario tiene JavaScript desactivado, no podrá enviar el formulario. Por ejemplo:

<form id="form1" action="" method="post"> 
    <a href="#" onclick="document.getElementById('form1').submit();">Submit!</a> 
</form> 

Si desea puede utilizar un <button>:

<button type="submit">Submit!</button> 

O seguir con lo que todos sabemos:

<input type="submit" value="Submit!" /> 

Puede estilo de los tres , pero los dos últimos no requieren JavaScript. Probablemente solo necesites cambiar alguna CSS en alguna parte si tienes problemas con la frontera.

+0

De hecho. Pero afortunadamente puedes pegar un botón como si fuera un 'a'. Simplemente elimine el borde del estilo que tiene actualmente. Por cierto, usar '

+1

Aunque la cantidad de usuarios que tienen Javascript deshabilitado es muy pequeña en la mayoría de las configuraciones. – nfechner

+2

@nfechner Claro, pero ¿por qué tomar el riesgo y el esfuerzo si hay un elemento perfectamente bueno que tiene esta funcionalidad incorporada desde alrededor de 1872. – GolezTrol

1
<!-- add the anchor token at the end of your action statement --> 

<form method='post' action='this_page.php?put_peram=token#anchor_name'> 
<input type='submit' value='click here'> 

<!-- put the anchor right above where you want the page to index --> 

<a name="anchor_name></a> 
+0

genial, gracias .. – Developer

1

Trate de evitar javascript para la acción. Utilice siempre el botón de enviar. Algunos usuarios pueden estar deshabilitados javascript por razones de seguridad.

Aunque quiera usar javascript para enviar el valor, agregue la siguiente línea antes de escribir la etiqueta <html>.

<!-- saved from url=(0014)about:internet--> <html>

Cuestiones relacionadas