Envoyer un POST par un lien - HTML/CSS - Programmation
Marsh Posté le 16-05-2006 à 11:37:49
<form name="monform" action="mapage.html" method="post">
<input type="hidden" name="nom" value="Valeur que je veux envoyer en post">
</form>
<a href="javascript:document.forms.monform.submit();">Cliquez ici</a>
Marsh Posté le 16-05-2006 à 11:50:40
Ok merci.
Ca utilise du Javascript, donc ca n'est pas idéal, mais apparemment, en faisant des recherches plus approfondies (mot clé "submit" plutôt que "post" ) ca n'est possible qu'avec du javascript...
Après, je ne comprends pas ton <input type="hidden" name="nom" value="Valeur que je veux envoyer en post">
Je croyais que cet attribut contenait le nom du bouton input ?
<INPUT type="submit" value="Envoyer">
Marsh Posté le 16-05-2006 à 11:51:23
c'est pas propre comme solution... il ne faut pas utiliser javascript dans le href
Code :
|
edit: par contre je vois pas pourquoi tu peux pas utiliser de submit, si c'est pour une question de look tu peux en faire a peu près ce que tu veux via css ou au pire utiliser un input image
Marsh Posté le 16-05-2006 à 11:56:26
anapajari a écrit : c'est pas propre comme solution... il ne faut pas utiliser javascript dans le href
|
D'abord, merci pour ta solution, et ensuite, oui, c'est une question de look, mais je ne savait pas qu'avec CSS je pouvais y faire quelque chose ?? Tu veux dire qu'en utilisant CSS je peux virer le bouton et le remplacer par un champ texte (et ca reste un lien) ?
Marsh Posté le 16-05-2006 à 11:57:08
ikao2 a écrit : Après, je ne comprends pas ton <input type="hidden" name="nom" value="Valeur que je veux envoyer en post"> |
Cette balise input n'affiche pas un bouton, on n'affiche aucun bouton dans ce formulaire. Cette balise est de type "hidden" (caché) et n'apparait pas sur la page. elle porte le nom "nom" et tu met la valeur que tu veux dans le paramètre value.
ensuite dans ton lien tu "submit()" comme anapajari ta montré et dans l'autre page tu peut récupéré la valeur en post, elle aura le nom "nom" et le valeur que tu lui a donné. Par exemple, pour récupérer la valeur en php : $_POST['nom']
Marsh Posté le 16-05-2006 à 11:59:24
Ce qui est aussi chelou, c'est le coup de liens en POST... Sachant que la méthode post ne devrait être utilisée que s'il y a des effets de bords
Marsh Posté le 16-05-2006 à 12:03:39
benjones a écrit : Cette balise input n'affiche pas un bouton, on n'affiche aucun bouton dans ce formulaire. Cette balise est de type "hidden" (caché) et n'apparait pas sur la page. elle porte le nom "nom" et tu met la valeur que tu veux dans le paramètre value. |
Ok merci pour l'info. Donc je dois créer un champ <INPUT> par valeur que je voudrais passer ? (En fait, je passerai mes valeurs directement dans le <form action="chemin_de_ma_servlet/ma_servlet?var1&var2&var3> ou quelque chose du genre, mais ca m'intéresse quand même de savoir ).
Marsh Posté le 16-05-2006 à 12:06:14
Oui
<form name="monform" action="mapage.html" method="post">
<input type="hidden" name="variable1" value="Valeur">
<input type="hidden" name="variable2" value="Valeur">
<input type="hidden" name="variable3" value="Valeur">
<input type="hidden" name="variable4" value="Valeur">
etc...
</form>
Marsh Posté le 16-05-2006 à 12:07:11
FlorentG a écrit : Ce qui est aussi chelou, c'est le coup de liens en POST... Sachant que la méthode post ne devrait être utilisée que s'il y a des effets de bords |
Et bien, à tort ou à raison, ma servlet est construite de telle manière que quand on l'accède directement (par un Get) elle ne fait que de l'affichage, mais quand on l'accède par un lien (que je veux donc mettre en post) elle fait du traitement (suivant le lien, et donc les valeurs spécifiées dans le post, le traitement sera différent).
Marsh Posté le 16-05-2006 à 12:13:31
les css ne te permettent pas de transformer le submit en lien mais de modifier son apparence afin de le faire ressembler au maximum à un lien ( il restera juste le problème du focus lors du clic)
Marsh Posté le 16-05-2006 à 12:18:26
anapajari a écrit : les css ne te permettent pas de transformer le submit en lien mais de modifier son apparence afin de le faire ressembler au maximum à un lien ( il restera juste le problème du focus lors du clic) |
Par exemple si mon bouton s'appelle : bonjour
je pourrai séléctionner juste "bon" (séléctionner à la souris, comme si on voulait faire un copier/coller par exemple) ?
Et qu'appelles tu le "focus" ? C'est lorsque le lien change de couleur ou réagit au passage de la souris ?
Je suis désolé de toutes mes questions, je (re)débarque un peu dans le monde html avec de vieilles vieilles vieilles bases, et je n'ai pas vraiment le temps de tout réapprendre, vu que ce n'est qu'une petite partie du boulot que j'ai à faire...
Marsh Posté le 16-05-2006 à 14:45:46
ikao2 a écrit : Par exemple si mon bouton s'appelle : bonjour |
??? Mais quel bouton ?
ikao2 a écrit : Et qu'appelles tu le "focus" ? |
Le focus correspond à l'élément sur leequel le curseur est positionné.
Mettre le focus sur un élément revient à se positionner dessus.
ikao2 a écrit : C'est lorsque le lien change de couleur ou réagit au passage de la souris ? |
Non, pour ça utilises onMouseOver
ikao2 a écrit : Je suis désolé de toutes mes questions, je (re)débarque un peu dans le monde html avec de vieilles vieilles vieilles bases, et je n'ai pas vraiment le temps de tout réapprendre, vu que ce n'est qu'une petite partie du boulot que j'ai à faire... |
Ya pas de mal, bon courage
Marsh Posté le 16-05-2006 à 14:49:47
ReplyMarsh Posté le 16-05-2006 à 15:18:37
ReplyMarsh Posté le 16-05-2006 à 15:27:58
Je dirai : effet indirect ou secondaire, pas forcement visible directement. Cela n'influe pas sur ton action principale, mais peut créer des problèmes ailleurs.
On parle aussi d'effet de bord quand l'evaluation contient une modification (du genre a=b++).
Difficile à expliquer tout ca
Marsh Posté le 16-05-2006 à 15:39:52
Voilà, un effet de bord, dans ce cas-là, ça peut être par exemple une insertion dans une base de données.
Marsh Posté le 16-05-2006 à 16:25:22
ikao2 a écrit : Le bouton du submit |
Mais dans l'exemple que je t'ai montré, comme tu le souhaitais, il n'y a pas de bouton, rien q'un lien classique
Marsh Posté le 16-05-2006 à 16:55:50
Oui oui j'ai vu, mais dans le post de anapajari, il donne un code "plus propre" et me signale qu'avec des CSS, je pourrai a priori m'en sortir SANS javascript (ce que je demande dans mon premier post )
Sinon la méthode Javascript et c'est celle que j'utilisait... et d'après ce que dit anapajari, la seule solution quand on ne veut pas utiliser javascript, c'est d'utiliser les CSS pour camoufler son bouton "submit" en quelque chose d'approchant d'un lien HTML classique.
Or moi je ne sais pas comment faire ni trop à quoi cela va ressembler, d'où mes questions !
Donc si vous avez des exemples, n'hésitez pas à me donner les liens ! Merci !
Marsh Posté le 16-05-2006 à 11:32:57
Bonjour !
Je travaille avec des servlets.
J'aimerai qu'à certain moment, elles recoivent du HTTP-Post à la place d'un HTTP-Get, il faut donc que je génère des pages HTML ayant des liens (vers mes servlets), mais ces liens étant de "type Post". (MMmhhh pas trés clair peut être).
Quelle la manière de le faire SANS utiliser javascript (ou bien au pire AVEC javascript mais je péréferai sans).
Je précise que je ne veux pas un bouton (comme dans un form avec un <INPUT type="submit"...> ) mais un lien "classique" mais de type Post...
Merci !