OVH Cloud OVH Cloud

Traitement de formulaires en Perl/CGI.

6 réponses
Avatar
benoitcroissant
Bonjour,
je souhaite créer un formulaire avec DEUX boutons qui exécutent deux
fonctions perl différentes.

En HTML :
...
<form action="../sources/recherche.cgi" method="get"
target="ResultatRecherche">
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td align="right">Nom : </td>
<td><input name="nom" type="text" size="30" maxlength="30"
value=""></td>
</tr>
<tr>
<td><input type="submit" value="Ex&eacute;cuter fonction 1"></td>
<td><input type="submit" value="Ex&eacute;cuter fonction 2"></td>

</tr>
</table>
...
Comment faire la distinction dans mon programme perl recherche.cgi ??

Merci.

6 réponses

Avatar
Patrick
je souhaite créer un formulaire avec DEUX boutons qui exécutent deux
fonctions perl différentes.


[..]

<td><input type="submit" value="Ex&eacute;cuter fonction 1"></td>
<td><input type="submit" value="Ex&eacute;cuter fonction 2"></td>


Il manque l'attribut name.

Comment faire la distinction dans mon programme perl recherche.cgi ??


Vous testez les attributs name: celui qui est renseigné, c'est celui qui
a été cliqué.

Patrick.

Avatar
benoitcroissant
Patrick <patrick+ wrote in message news:...
je souhaite créer un formulaire avec DEUX boutons qui exécutent deux
fonctions perl différentes.


[..]

<td><input type="submit" value="Ex&eacute;cuter fonction 1"></td>
<td><input type="submit" value="Ex&eacute;cuter fonction 2"></td>


Il manque l'attribut name.

Comment faire la distinction dans mon programme perl recherche.cgi ??


Vous testez les attributs name: celui qui est renseigné, c'est celui qui
a été cliqué.

Patrick.


D'accord mais comment tester l'attribut "name" ?? en perl


Avatar
Patrick
D'accord mais comment tester l'attribut "name" ?? en perl


Après lecture de perldoc CGI
vous obtenez qqchose du style:

if (defined($q->param('bouton1')))
{
# le bouton1 a été pressé !
}

Patrick.

Avatar
Denis -esp2008-
Bonjour,

D'accord mais comment tester l'attribut "name" ?? en perl
De la même façon que pour tout autre champs de formulaire (dans

l'exemple donné, il suffit de faire un copier/coller du traitement du
champs "nom" et de remplacer par les différents name de boutons).

Attention au passage, si le script n'est pas destiné à un usage
personnel: si un graphiste passe derrière, il remplacera le bouton par
une image, et le script ne fonctionnera plus.

Bonne chance,

--
Denis

Avatar
Raymond.Schmit
Le Thu, 10 Jun 2004 16:57:43 +0200, Denis -esp2008-
écrivait:

Bonjour,

D'accord mais comment tester l'attribut "name" ?? en perl
De la même façon que pour tout autre champs de formulaire (dans

l'exemple donné, il suffit de faire un copier/coller du traitement du
champs "nom" et de remplacer par les différents name de boutons).

Attention au passage, si le script n'est pas destiné à un usage
personnel: si un graphiste passe derrière, il remplacera le bouton par
une image, et le script ne fonctionnera plus.



Alors on fera un javascript qui se lancera par la méthode 'onclick' de
l'image. Ce javascript mettra une valeur dans un champ non visible du
formulaire. j'ao bon là ? :-)


Avatar
Patrick
Attention au passage, si le script n'est pas destiné à un usage
personnel: si un graphiste passe derrière, il remplacera le bouton par
une image, et le script ne fonctionnera plus.


C'est un bien piètre graphiste alors. En utilisant les CSS il pourrait
styler le bouton submit comme il le souhaite, sans avoir à le remplacer.

Il fera quoi le jour où le site est en XHTML et utilise XForms pour le
formulaire ? (comment ca c'est pas pour demain ?)

Patrick.