web-dev-qa-db-fra.com

Est-il prudent d'utiliser l'ancre pour soumettre le formulaire?

J'ai lu quelque part que l'utilisation d'une balise d'ancrage pour soumettre un formulaire n'est pas très sûre. C'est donc ma question: est-il prudent d'utiliser une balise d'ancrage au lieu de <button> ou <input type="submit" /> pour soumettre un formulaire? Et si ce n'est pas le cas, pourquoi ? Le problème est que j'ai une classe CSS pour un bouton, ce qui montre ce que je veux sur <a class="button">, mais si je l'ajoute à un bouton réel, cela ajoute une bordure étrange que je ne veux pas.

Merci

28
ItsGreg

Utiliser une ancre pour soumettre un formulaire nécessiterait l'utilisation de JavaScript pour relier les événements. Ce n'est pas sûr car si un utilisateur a JavaScript désactivé, vous ne pourrez pas soumettre le formulaire. Par exemple:

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

Si vous le souhaitez, vous pouvez utiliser un <button>:

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

Ou s'en tenir à ce que nous savons tous:

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

Vous pouvez les styler tous les trois, mais les deux derniers ne nécessitent pas JavaScript. Vous avez probablement juste besoin de changer un peu de CSS quelque part si vous rencontrez des problèmes de frontière.

55
Cᴏʀʏ
<!-- 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>
2
joshua bissot

Essayez d'éviter le javascript pour l'action. Utilisez toujours le bouton d'envoi. Certains utilisateurs peuvent être désactivés javascript pour des raisons de sécurité. 

Bien que vous souhaitiez utiliser javascript pour soumettre la valeur, ajoutez la ligne ci-dessous avant d'écrire la balise<html>

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

1
user3738184