Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2477 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Envoyer un POST par un lien

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Envoyer un POST par un lien

n°1367293
ikao2
okaïdi okaïda
Posté le 16-05-2006 à 11:32:57  profilanswer
 

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 !

mood
Publicité
Posté le 16-05-2006 à 11:32:57  profilanswer
 

n°1367301
benjones
Posté le 16-05-2006 à 11:37:49  profilanswer
 

<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>


Message édité par benjones le 16-05-2006 à 11:38:16
n°1367333
ikao2
okaïdi okaïda
Posté le 16-05-2006 à 11:50:40  profilanswer
 

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">

Message cité 1 fois
Message édité par ikao2 le 16-05-2006 à 11:51:01
n°1367335
anapajari
s/travail/glanding on hfr/gs;
Posté le 16-05-2006 à 11:51:23  profilanswer
 

c'est pas propre comme solution... il ne faut pas utiliser javascript dans le href :o

Code :
  1. <form id="monForm" ...>
  2. ...
  3. </form>
  4. <a href="pageQuiAvertitQueSansJavascriptLeSiteMarchePas.html" onclick="document.getElementById('monForm').submit(); return false">Cliquez ici</a>


 
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

Message cité 1 fois
Message édité par anapajari le 16-05-2006 à 11:53:01
n°1367348
ikao2
okaïdi okaïda
Posté le 16-05-2006 à 11:56:26  profilanswer
 

anapajari a écrit :

c'est pas propre comme solution... il ne faut pas utiliser javascript dans le href :o

Code :
  1. <form id="monForm" ...>
  2. ...
  3. </form>
  4. <a href="pageQuiAvertitQueSansJavascriptLeSiteMarchePas.html" onclick="document.getElementById('monForm').submit(); return false">Cliquez ici</a>


 
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


 
 
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) ?

n°1367349
benjones
Posté le 16-05-2006 à 11:57:08  profilanswer
 

ikao2 a écrit :

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">


 
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']

n°1367353
FlorentG
Unité de Masse
Posté le 16-05-2006 à 11:59:24  profilanswer
 

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 :??:

n°1367359
ikao2
okaïdi okaïda
Posté le 16-05-2006 à 12:03:39  profilanswer
 

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.
 
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']


 
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 :) ).

n°1367363
benjones
Posté le 16-05-2006 à 12:06:14  profilanswer
 

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>

n°1367365
ikao2
okaïdi okaïda
Posté le 16-05-2006 à 12:07:11  profilanswer
 

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).

mood
Publicité
Posté le 16-05-2006 à 12:07:11  profilanswer
 

n°1367369
anapajari
s/travail/glanding on hfr/gs;
Posté le 16-05-2006 à 12:13:31  profilanswer
 

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)

n°1367378
ikao2
okaïdi okaïda
Posté le 16-05-2006 à 12:18:26  profilanswer
 

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...

n°1367567
benjones
Posté le 16-05-2006 à 14:45:46  profilanswer
 

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 ;)

Message cité 1 fois
Message édité par benjones le 16-05-2006 à 14:46:13
n°1367575
ikao2
okaïdi okaïda
Posté le 16-05-2006 à 14:49:47  profilanswer
 

benjones a écrit :

??? Mais quel bouton ?


 
Le bouton du submit ;)

n°1367614
mIRROR
Chevreuillobolchévik
Posté le 16-05-2006 à 15:18:37  profilanswer
 

FlorentG a écrit :

... des effets de bords :??:


 
désolé de polluer mais c est quoi ?  :D  

n°1367636
ikao2
okaïdi okaïda
Posté le 16-05-2006 à 15:27:58  profilanswer
 

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 :p

n°1367671
FlorentG
Unité de Masse
Posté le 16-05-2006 à 15:39:52  profilanswer
 

Voilà, un effet de bord, dans ce cas-là, ça peut être par exemple une insertion dans une base de données.

n°1367786
benjones
Posté le 16-05-2006 à 16:25:22  profilanswer
 

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 ;)

n°1367846
ikao2
okaïdi okaïda
Posté le 16-05-2006 à 16:55:50  profilanswer
 

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 !

n°1368408
ikao2
okaïdi okaïda
Posté le 17-05-2006 à 08:55:11  profilanswer
 

up up !  :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Envoyer un POST par un lien

 

Sujets relatifs
pb avec macro "ajout lien hypertexte"[macro excel Modifier tout les lien hypertexte
je voudrait savoir ou trouver quel par pour envoyer ce mailEnvoyer les données d'un formulaire...dans un window.open
desalouer variables postProblème pour envoyer un mail (JavaMail)
lien vers fenetre pré-dimensionnéeformulaire, base de donnée, et lien vers un dessin!!!
AJAX et firefox j'arrive pas a envoyer une requete POST 
Plus de sujets relatifs à : Envoyer un POST par un lien


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR