Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 18-07-2007 11:25:16

jzender
Membre
Date d'inscription: 12-07-2007
Messages: 25

Données de formulaire postées lorsqu'on clique sur un simple lien

Bonjour à tous !

Je débute avec Zend, et je me suis rendu compte qu'il était possible de récupérer les données d'un formulaire sans avoir cliqué sur son bouton Submit mais sur un simple lien vers une autre page.

S'agit-il d'un formulaire.submit() en JavaScript lancé automatiquement pour tous les liens contenus dans un formulaire par le Framework ?

Merci,
J-Zender.

Hors ligne

 

#2 18-07-2007 13:33:06

Ysaak
Membre
Lieu: Strasbourg
Date d'inscription: 18-06-2007
Messages: 33

Re: Données de formulaire postées lorsqu'on clique sur un simple lien

Bonjour,

L'envoi des formulaires via un lien se fait par du javascript. Le framework n'intervient pas à ce niveau.

Voici un léger exemple :

Code:

<form name="myForm" method="post" action="...">
<input type="text" name="test" id="test" />
<a href="maPageDAide.php">Aide</a>
</form>

<a href="#" onclick="document.myForm.submit();">Envoyer les données</a>

Ce genre de liens ne sont pas forcément contenus dans le formulaire. Si tu veux plus d'informations, je te conseille de consulter un site spécialisé dans le javascript.

Damien

Hors ligne

 

#3 18-07-2007 14:13:20

jzender
Membre
Date d'inscription: 12-07-2007
Messages: 25

Re: Données de formulaire postées lorsqu'on clique sur un simple lien

Merci Damien, mais ce qui m'étonne c'est qu'à aucun moment je n'utilise de JavaScript et que ça fonctionne quand même ! Mon lien est du type :
<a href="<?php echo $this->baseUrl; ?>/index/supprimer/id/8"></a>
(index pour IndexController et supprimer qui appelle supprimerAction() dans le contrôleur)

Je me demandais si Zend Framework transformait automatiquement dans un formulaire les liens sans JavaScript en lien avec. Quelqu'un a-t-il la réponse ?

Merci,
J-Zender.

Hors ligne

 

#4 18-07-2007 15:01:53

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Données de formulaire postées lorsqu'on clique sur un simple lien

Tu confonds peut etre les parametres d'un formulaire et les parametre que l'on peut passer au controller
/module/controller/action/param1/value1/param2/value2 .... etc...

si tu as creer une regle de routage spécifique, tu peux meme changer cette facon de faire et obtnir par exemple
/module/controller/action/value1/value2/value3

Hors ligne

 

#5 18-07-2007 15:39:31

jzender
Membre
Date d'inscription: 12-07-2007
Messages: 25

Re: Données de formulaire postées lorsqu'on clique sur un simple lien

Oui peut-être Titerm, j'avoue que ce n'est pas encore très clair. Voici ce que j'ai compris :

Les paramètres que je peux passer au contrôleur sont de deux types :

- Par l'URL : dans ce cas, par défaut c'est du type :
/nom_du_contrôleur/nom_de_la_fonction/nom_du_parametre/valeur_du_parametre
Je le récupère dans mon contrôleur de la manière suivante :
$nom_du_parametre = $this->_request->getParam('nom_du_parametre', 0);

Question subsidiare : Comment fais-tu pour choisir une autre façon d'organiser l'URL ?

- Par les champs d'un formulaire : ils sont récupérés sous forme de variables en PHP.
Par exemple un <input type="text" name="toto"> dans ma page PHTML sera récupéré dans le contrôleur de la façon suivante :
$toto = $this->_request->getPost('toto');

Ce que je ne comprends pas :

La valeur du champ toto est postée même si je ne clique pas sur un bouton de type Submit du formulaire.
Dans mon cas je clique sur un lien vers /contrôleur/fonction/param1/valeur_param1 dans le formulaire qui contient par ailleurs un <input type="text" name="param2">

Et je suis capable dans le contrôleur de faire :
$param1 = $this->_request->getParam('param1', 0);   (C'EST NORMAL)
$param2 = $this->_request->getPost('param2');   (C'EST ETONNANT !)

Ma question est donc : comment cela se fait-il que les données du formulaire soient postées alors que je n'ai pas cliqué sur mon bouton Submit ? La fonction JavaScript formulaire.submit() est-elle exécutée automatiquement ?

Par ailleurs, l'idée d'organiser l'URL autrement et avec plusieurs paramètres m'intéresse. Peux-tu m'en dire plus stp ?

Merci !
J-Zender.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages