8792 sujets

Développement web côté serveur, CMS

Bonjour à tous,

je vous explique mon problème :

Je possède une page index.php contenant un grand formulaire

dans une des divs de ce formulaire j'inclus une page en PHP.

La page en php comprend une liste déroulante toute pleine de JS (même Ajax je dirai). Elle me permet de créer un input text, au passage sur cet input je déroule une liste comprenant du texte ainsi que des cases à cocher. Lorsque je coche une case, la valeur de la checkbox s'écrit dans l'input text. (ca ressemble aux listes de www.seloger.com )

Ce que je voudrais, c'est passer en POST les valeurs du input, dans le formulaire d'index.php pour pouvoir les récuperer sur la même page.

En gros.

index.php => form =>envoi à truc.php
pageinclude =>form2 => envoi à truc.php

le truc c'est que, vous l'aurez bien compris, je ne vais pas coller un submit dans la liste déroulante.

Est-ce possible de faire ce que je veux ?

merci d'avance.

Rude
Modifié par ffwrude (08 Sep 2006 - 10:20)
Logiquement, et si j'ai bien compris ton problème, ça devrait être bon.

Ce que tu "includes" fait partie de ta page (comme si ce n'était qu'une page). Donc si tu includes juste une portion de code, elle fera partie de la page et donc de ton formulaire.

Vois la doc de include si je suis pas clair Smiley cligne
En fait, je vais mettre résolut mais pour expliquer ce que j'ai fait c'est un peu galere.

Mes fichiers includes sont des listes déroulantes comprenant des cases à cocher. Le tout en AJAX.

Ce que j'ai fait, c'est déclarer mes fonctions dans la page ou il y'avait les includes, supprimer les DOUBLE formulaire. Et recopier le code des pages à la place des includes. Après, j'ai créer une div supplémentaires dans les parties copier avec un iD.

Lorsque je passais mes input checkbox en this.value,this.id j'ai rajouter un "id de la div rajoutée" pour pouvoir récupérer comme il faut mes valeurs. Le probleme ne venait pas du include

Il venait du fait qu'il était impossible de récuperer en POST mes valeurs a travers DEUX formulaires.

Maintenant que je n'ai plus qu'un seul formulaire mes données passent nikel.

donc ce que je peux conseiller aux autres.

Ne faites pas de doubles formulaires et épurer votre code au max pour faire un moyen détourné.

Merci quand même du coup de main.
Je comprends mieux ton problème maintenant.
En fait tu avais un formulaire sur ta page "normale" et un formulaire dans la page inclue.

Pour moi, ton problème vient tout de même d'une mauvaise compréhension de include :

Si tu as une page A dans laquelle tu inclus une page B, l'inclusion se fait côté serveur. Du côté client, tu auras une seule et unique page regroupant le code de A et de B.

Si tu déclares un formulaire dans chaque page (A et B), alors tu auras 2 formulaires imbriqués côté client. Ce qui est forcément mauvais.

Mauvais :

<form id="form1" method="post" ...>
....

// Début du code contenu dans le fichier importé :
     <form id="form2" method="post" ...>
     ....                    // input, textarea...
     </form>
// Fin de l'import

...
</form>


Bon :

<form id="form1" method="post" ...>
....

// Début du code contenu dans le fichier importé :
     ....                       // input, textarea,...
// Fin de l'import

...
</form>


Bref, je crois que tu as compris toi-même Smiley smile