46 votes

Est-il sûr d'utiliser une ancre pour soumettre un 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, d'où ma question : Est-il sûr 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, qui affiche ce que je veux sur l'écran. <a class="button"> mais si je l'ajoute à un bouton réel, il ajoute une bordure bizarre que je ne veux pas.

Merci

0 votes

Vous devriez essayer de styliser votre <input type="submit" /> pour répondre à vos besoins. Veuillez poster le CSS de votre version actuelle afin que nous puissions trouver un moyen de supprimer la bordure bizarre :)

0 votes

Merci, j'ai déjà réparé la bordure. Je n'ai défini que la bordure supérieure et inférieure, donc il y avait la bordure par défaut sur les côtés.

80voto

Cory Points 37551

L'utilisation d'une ancre pour soumettre un formulaire nécessiterait l'utilisation de JavaScript pour connecter les événements. Ce n'est pas sûr, car si un utilisateur a désactivé JavaScript, 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 connaissons tous :

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

Vous pouvez les styliser tous les trois, mais les deux derniers ne nécessitent pas de JavaScript. Il suffit probablement de modifier le CSS quelque part si vous avez des problèmes de bordure.

4voto

joshua bissot Points 41
<!-- 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 votes

Comment l'ancre survivra-t-elle à la redirection, qui est habituelle après le POST ?

0voto

user3738184 Points 9

Essayez d'éviter le javascript pour l'action. Utilisez toujours le bouton "submit". Certains utilisateurs peuvent avoir désactivé javascript pour des raisons de sécurité.

Si vous souhaitez utiliser le javascript pour soumettre la valeur, ajoutez la ligne ci-dessous avant d'écrire le code de l'utilisateur. <html> étiquette.

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X