# Java > Dveloppement Web en Java > Servlets/JSP >  Rcuprer vers la servlet le name de deux boutons submit dans un mme formulaire

## Bobette

Bonjour  tous,

Je suis confronte  un problme pour lequel les solutions trouves sur le net ne le rsolvent pas.
Pour modifier un utilisateur: dans une jsp j'ai un formulaire (lui-mme contenu dans une div qui s'affiche si l'on selectionne un utilisateur dans une liste deroulante) et contenant 2 boutons submit :


```

```

Je souhaite ainsi recuprer et traiter dans ma servlet le bouton submit qui a ete cliqu. Donc son name...
Mais :
alors que 

```
!request.getParameterNames().toString().isEmpty()
```

est true (donc non vide), les tentatives de recuperations suivantes sont toutes nulles :


```

```

Je bloque sur ce petit truc que j'ai sur le bout de la langue mais que je ne trouve pas...
Quelqu'un pourrait-il m'aider ?

Merci pour votre aide  :;):

----------


## DevServlet

Bonjour,
Si tu veux mettre 2 submit dans le mme formulaire, je te proposerai de pas passer par les boutons submit mais les boutons tout court, mais au lieu d'appeler directement la servlet, t'appelles une petite fonction javascript en lui passant un paramtre, ce paramtre dcrit lequel des 2 boutons a t appel, et dans cette fonction tu forces la valeur d'un champ hidden spcifiant l'appelant avant de soumettre ton formulaire toujours dans cette fonction. a pourrait ressembler  a :


```

```

Et ct servlet tu rcupres la valeur de ce hidden transmis en Post et tu fais la suite.

----------


## Bobette

@DevServlet : merci pour ta rponse.

J'ai ainsi fait dans ma jsp :


```

```

le script js : (c'est mon premier javascript !  :;):  )


```

```

et dans ma servlet je souhaite donc rcuprer le champ hidden (ai-je bien compris ?):


```

```

eh bien...a ne fonctionne pas.

Peux-tu m'clairer ?
Encore merci pour ton aide.

----------


## DevServlet

Normal que a marche pas, je ne vois pas de paramtre lors de l'appel de ta js, comment veux tu en rcuprer? Voila ce que j'aurais fait :


```

```

----------


## fxrobin

Salut,

pourtant a marche sans soucis ce que tu essayes de faire.
j'ai fais un petit test :

la page JSP (qui est juste de l'HTML pour le coup d'ailleurs) :



```

```

la servlet (en tout cas dans la mthode doPost, ou encore "processRequest" du gnrateur de NetBeans, ou encore pour que ce soit du get ou du post, directement dans la mthode "service".



```

```

et voil ce que j'ai  l'affichage quand je clique sur "bouton1" :

*Servlet MonControleur at /TestDoubleSubmit*
. bouton1 : Texte Bouton 1


et quand je clique sur bouton2 :

*Servlet MonControleur at /TestDoubleSubmit*
.bouton2 : Texte Bouton 2

donc a marche trs bien ;-)

----------


## florentB

un petit quelquechose pour ton test de valeur :




> ```
> if (request.getParameter("hiddenField")=="updateSubmit")
> ```


plutt



```
if ("updateSubmit".equals(request.getParameter("hiddenField"))
```

regarde galement pour la vrification des tes valeurs si tu le fais bien dans la bonne mthode doGet vs doPost.

----------


## Bobette

Resalut  :;): 


@fxrobin : en faisant comme toi


```

```

et :


```

```

a me renvoie la valeur du input type="text" !  :8O:  et non pas celle du bouton submit qui a t cliqu...

@florentB : j'ai toujours null, mme en faisant 


```
if (request.getParameter("hiddenField").equals("updateSubmit")
```

et mon form renvoie bien  la methode post de ma servlet.

@DevServlet : effectivement, je suis une biroute ! Du coup j'ai bien pass mes parametres dans l'appel de cette fonction, mais a ne fonctionne toujours pas.dans ma servlet, lorsque je souhaite recuperer mon button hidden :


```

```

Me donnent tous deux un "null" ... ::aie:: 

Quelqu'un voit de la lumire ?

----------


## fxrobin

> Resalut 
> a me renvoie la valeur du input type="text" !  et non pas celle du bouton submit qui a t cliqu...


pour tre clair, a doit afficher et le contenu de l'input type="text" et le bouton qui a t cliqu.

Montre moi ce qui a t produit dans la console.

----------


## fxrobin

Je viens de tester ton code HTML en enlevant la partie JSTL et en mappant vers ma servlet et a marche correctement :



```

```

quand j'appuie sur le bouton updateSubmit :

*Servlet MonControleur at /TestDoubleSubmit*
- newLogin : fxrobin
- updateSubmit : Message updateSubmit

quand j'appuie sur le bouton deleteSubmit :

*Servlet MonControleur at /TestDoubleSubmit*
- deleteSubmit : Message deleteSubmit
- newLogin : fxrobin

----------


## Bobette

@fxrobin : pour le code suivant :


```

```

j'obtiens dans la console :



> 13:58:51,692 INFO  [STDOUT] avant la boucle
> 13:58:51,692 INFO  [STDOUT] testou
> 13:58:51,692 INFO  [STDOUT] apres la boucle


o testou est la valeur de mon input type="text"...

Peux-tu me mettre ton code qui teste cela cot servlet ?
Car je ne vois pas ce qui cloche, a ne pas tre seulement du au jstl...si ?

----------


## fxrobin

bizarre, y'a un truc trange dans ta servlet ...
regarde mon message juste au dessus, a marche nickel chez moi avec ton code HTML (sans JSTL) et avec ma servlet.

essaye sans les fmt:message juste pour voir.

----------


## fxrobin

tiens je te mets mon projet netbeans en PJ.

mais voici la servlet :



```

```

----------


## Bobette

@fxrobin : merci, je viens d'essayer sans mes balises jstl, donc en faisant :


```

```

et c'est toujours le mme problme : je ne rcupre que ce qu'il y a dans le input text.
D'ailleurs je ne rcupre pas non plus dans cette boucle teste dans la servlet, la valeur de mon bouton radio !
Je ne comprends pas...

----------


## fxrobin

essaye temporairement avec ma servlet.

----------


## Bobette

@fxrobin : j'ai test avec ta servlet et j'obtiens une page qui m'affiche :



> *Servlet MonControleur at /DLM_AUDIT*
> selectedLogin : testou


Pourquoi mon bouton radio et mon bouton submit ne sont pas rcuprer cote servlet ? a va me rendre dingo !

Une question : mon problme a-t-il un rapport avec le fait que ce form se trouve dans une div qui ne s'affiche que si on a selectionn au pralable un paramtre qui est lui aussi dans un autre form?
En gros avoir 2 form dans une mme jsp pose-t-il des soucis?

----------


## fxrobin

donne moi ta page JSP complte, s'il te plait.

----------


## Bobette

@fxrobin : voici ma page jsp complte :


```

```

merci pour ton aide  :;):

----------


## fxrobin

tu peux aussi me montrer la gnration HTML de ta page JSP ...
Ca m'arrangera :-)

----------


## Bobette

@fxrobin : dsole pour le retard de ma rponse, j'tais absente.

Alors, le code source html ainsi gnr est le suivant (les ... correspondent aux partie codes en jstl) :


```

```

Pour info, la partie "crer un nouvel utilisateur" fonctionne bien, mais c'est un autre form, avec un seul submit...

Encore merci pour ton aide prcieuse  :;):  et bonne journe.

----------


## Bobette

Du nouveau : un dbut de soluce qui est que le problme est du  la prsence de plusieurs formulaire dans ma jsp...
Je debugue tout a proprement et vous poste la solution propre  :;): 

@DevServlet: je vais aussi tester la version avec le script js, car j'aimerai ainsi commencer  manipuler du javascript.Je posterai aussi cette version.

Merci  tous pour votre aide et bonne journe !

----------


## fxrobin

le code que tu as montr c'est le rsultat de la gnration d'une page ??

tu as vu que tu as plusieurs html ... body ...

c'est pas trs propre tout. tu as un gros nettoyage HTML  effectuer, comme tu l'a voqu trs bien toi-mme.

bon courage, tu es sur la bonne voie.

----------


## Bobette

@fxrobin: la prsence d'un 2eme html et body est du a l'appel d'un header qui est un fichier jsp, car j'ai de l'internationalisation dedans grce a des taglib.
Ces taglib n'etaient pas reconnues dans un fichier html simple...
Je vais tenter de faire autrement mais il me reste trs peu de temps...

Bon courage  toi aussi et encore merci  :;):

----------

