Comment faire une soumission à partir d'un ... lien?

J'ai obtenu une image avec laquelle des liens vers une autre page en utilisant <a href="..."> <img ...> </a>.

Comment puis-je faire faire un post comme si c'était un bouton <input type="submit"...>?

53
demandé sur Danny Beckett 2008-11-08 21:54:03

10 réponses

<input type="image" name="your_image_name" src="your_image_url.png" />

Ceci enverra le your_image_name.x et your_image_name.y valeurs qu'elle soumet le formulaire, qui sont les coordonnées x et y de la position de l'utilisateur a cliqué sur l'image.

34
répondu Jeremy Ruten 2008-11-08 19:01:29

Plus générique approatch à l'aide de JQuery bibliothèque de plus proche de() et soumettre() boutons. Ici, vous n'avez pas à spécifier quelle forme que vous souhaitez soumettre, soumet le formulaire, il est en.

<a href="#" onclick="$(this).closest('form').submit()">Submit Link</a>
105
répondu Paulius Zaliaduonis 2011-11-03 15:26:11

Il semble que vous essayez d'utiliser une image pour soumettre un formulaire... dans ce cas, l'utilisation <input type="image" src="...">

Si vous voulez vraiment utiliser une ancre, vous devez utiliser javascript:

<a href="#" onclick="document.forms['myFormName'].submit(); return false;">...</a>

25
répondu Greg 2008-11-08 18:59:52

Input type = image le fera pour vous.

9
répondu Tim Howland 2008-11-08 18:59:29

Non testé / pourrait être meilleur:

<form action="page-you're-submitting-to.html" method="POST">
    <a href="#" onclick="document.forms[0].submit();return false;"><img src="whatever.jpg" /></a>
</form>
7
répondu Shawn 2008-11-08 18:59:47
 <html>

 <?php

 echo $_POST['c']." | ".$_POST['d']." | ".$_POST['e'];

 ?>

 <form action="test.php" method="POST">
      <input type="hidden" name="c" value="toto98">
      <input type="hidden" name="d" value="toto97">
      <input type="hidden" name="e" value="toto aaaaaaaaaaaaaaaaaaaa">

      <a href="" onclick="document.forms[0].submit();return false;">Click</a> 
 </form>

</html>


So easy.




So easy.
5
répondu Jiky1 2010-04-07 14:43:52

Ce qui pourrait être un ajout pratique à cela est la possibilité de changer le post-url à partir du bouton supplémentaire afin que vous puissiez poster sur différentes URL avec différents boutons. Cela peut être réalisé en définissant la propriété 'action' du formulaire. Voici le code pour cela lors de l'utilisation de jQuery:

$('#[href button name]').click(function(e) {
    e.preventDefault();
    $('#[form name]').attr('action', 'alternateurl.php');
    $('#[form name]').submit();
});

L'attribut action a quelques problèmes avec les anciennes versions de jQuery, mais sur la dernière, vous serez prêt à partir.

2
répondu Grit 2013-02-26 12:02:31

Quelque Chose comme cette page ?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>BSO Communication</title>

<style type="text/css">
.submit {
    border : 0;
    background : url(ok.gif) left top no-repeat;
    height : 24px;
    width : 24px;
    cursor : pointer;
    text-indent : -9999px;
}
html:first-child .submit {
    padding-left : 1000px;
}
</style>
<!--[if IE]>
<style type="text/css">
.submit {
    text-indent : 0;
    color : expression(this.value = '');
}
</style>
<![endif]-->
</head>

<body>
    <h1>Display input submit as image with CSS</h1>

    <p>Take a look at <a href="/2007/07/26/afficher-un-input-submit-comme-une-image/">the related article</a> (in french).</p>
    <form action="" method="get">
        <fieldset>
            <legend>Some form</legend>
            <p class="field">
                <label for="input">Some value</label>

                <input type="text" id="input" name="value" />
                <input type="submit" class="submit" />
            </p>
        </fieldset>
    </form>

    <hr />
    <p>This page is part of the <a href="http://www.bsohq.fr">BSO Communication blog</a>.</p>

</body>
</html>
1
répondu VonC 2008-11-08 19:02:06

N'oubliez pas l'élément "BUTTON" qui peut gérer un peu plus de HTML à l'intérieur...

1
répondu Pablo Cabrera 2008-11-10 12:49:00

Nous remplaçons le bouton Soumettre par ceci tout le temps sur les formulaires:

<form method="post" action="whatever.asp">
<input type=...n

<input type="image" name="Submit" src="/graphics/continue.gif" align="middle" border="0" alt="Continue">
</form>

Cliquer sur l'image envoie le formulaire. Espérons que ça aide!

0
répondu Kateriana 2013-01-18 22:15:46