44 votes

Saisissez la valeur du formulaire d'envoi de l'image ?

J'utilise ce code pour essayer de soumettre une valeur via un formulaire mais il ne semble rien soumettre...

J'utiliserais normalement une case à cocher ou des boutons radio pour plusieurs options, mais je souhaite utiliser une image pour ce faire.

Ce code est-il faux ?

 <input id="test1" name="test1" type="image" src="images/f.jpg" value="myValue" alt="" />

Je veux donc passer la valeur dans value="myValue".

Le formulaire fonctionne bien, ce n'est donc pas le problème, j'ai juste besoin d'aide pour la partie saisie qui ne se soumet pas, car je sais que cela fonctionne.

Merci

57voto

Francisco Paulo Points 4111

Une entrée type="image" définit uniquement cette image comme bouton d'envoi et non comme entrée pouvant transmettre une valeur au serveur.

39voto

BoyBlueSky Points 181

L'utilisation de type="image" est problématique car la possibilité de transmettre une valeur est désactivée. Bien que ce ne soit pas aussi personnalisable et donc aussi joli, vous pouvez toujours utiliser vos images tant qu'elles font partie d'un type="button" .

 <button type="submit" name="someName" value="someValue"><img src="someImage.png" alt="SomeAlternateText"></button>

7voto

jungwook Points 41

J'étais au même endroit que toi, finalement j'ai trouvé une réponse sympa :

 <form action="xx/xx" method="POST">
  <input type="hidden" name="what you want" value="what you want">
  <input type="image" src="xx.xx">
</form>

5voto

Quentin Points 325526

Certains navigateurs (IIRC c'est juste certaines versions d'Internet Explorer) n'envoient que les coordonnées de l'image cliquable (dans name.x et name.y) et ignorent la valeur. C'est un bogue.

Les solutions de contournement consistent soit à :

  • Avoir un seul bouton d'envoi et utiliser une entrée cachée pour envoyer la valeur
  • Utilisez des boutons d'envoi réguliers au lieu d'images cliquables
  • Utilisez des noms uniques au lieu de valeurs et vérifiez la présence de name.x / name.y

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