Puis-je créer un bouton d'image svg?
Est-il possible de faire une requête POST quand une image svg est cliqué?
Ma meilleure tentative ressemble tellement loin:
<form action="/test-button" method="POST">
<input name="Submit" type="submit" value="Submit" />
<svg >
<rect width="100" height="100" >
</svg>
</form>
Qui est un rectangle noir avec un bouton à côté.
Je veux permettre aux gens de choisir entre plusieurs images, donc cela peut être un ok de solution, mais est-il possible de faire une image qui, lorsqu'il est cliqué, se déclenche un POST?
Des points supplémentaires pour ne pas utiliser de javascript.
source d'informationauteur John Lawrence Aspden
Vous devez vous connecter pour publier un commentaire.
Avertissement: C'est un peu hacky, mais pour autant que je sais que c'est 100% legit, et n'a pas besoin de javascript.
Depuis le
label
élément peut également être utilisé pour le contrôle de l'entrée, vous pouvez essayer quelque chose comme ceci:Cachez les boutons de soumission avec les CSS. Vous pouvez mettre n'importe quoi dans l'étiquette que vous voulez.
Lorsque vous cliquez sur tout ce qui est dans l'étiquette, il va déclencher le bouton "soumettre" à l'intérieur et soumettre le formulaire avec le bouton
value
dans l'après tableau.Il y a aussi un
<input type="image">
mais c'est pour un tout autre but (suivi des coordonnées de l'endroit où il a été cliqué).C'est tout à fait impossible sans JS, mais vous pouvez utiliser du JS pour faire ça. Ci-joint un
onclick()
et il suffit d'utiliser:document.getElementById('formID').submit();
.HTML:
et JS (passe au sein de votre
<head></head>
tags):Ce, peut-être:
Jsfiddle: http://jsfiddle.net/Xawuv/
Cela semble être une bonne utilisation de
<button>
élément.Cliquant sur le bouton de l'élément effectue exactement le même travail que
input[type="submit"]
de sorte que vous pouvez remplacer la saisie entièrement. Si vous suivez cette voie, vous pouvez également envisager de placer une étiquette de texte à l'intérieur du bouton et/ou untitle
à l'intérieur du svg pour l'accessibilité des fins.C'est un simple bouton avec un éclair à l'intérieur de la boîte.
et voici le script pour le fucntion lorsque vous cliquez sur
Le problème lorsque vous créez un bouton et à l'intérieur, il dispose de lignes et quand vous les mettez à l'élément parent le onclick vous ne cliquez pas sur toutes les un élément svg mais vous cliquez sur séparément, et tous les enfants à l'intérieur. donc, vous avez besoin pour créer un rectangle à l'intérieur du svg avec la hauteur et la largeur de l'élément parent et de le cacher, et après y mettre la onclick!