8796 sujets

Développement web côté serveur, CMS

Bonjour

Je me tourne vers vous pour vous demander si vous n'aviez pas une solution pour mon ptit problème. Je m'explique :
J'ai une page php qui contient une balise DIV. Cette div est remplie par des scripts php avec ajax. Jusque là je ne rencontre aucun problème. Le souci c'est que les script PHP contiennent des formulaire qui passent en POST des variables à d'autres scripts en PHP, et que quand je clique sur envoyer (submit) le second script est exécuté dans une nouvelle page et non dans la div. Le comportement est normal, mais je ne vois vraiment pas comment faire pour qu'il s'exécute dans la balise DIV.

Voila j'espère être claire.

MERCI
C'est chaud ça, j'imagine qu'il n'y a aucun contrôle sur les formulaires injectés dans ce div... il y a peut-être moyen de détourner le onsubmit() du form...

il serait surement plus simple de faire ça dans une iframe
Non, ce n'est pas très clair... surtout pour toi j'ai l'impression.

Es-tu sûr de bien savoir à quoi correspondent JavaScript, PHP et AJAX ?
hummm hummm quel reponse tres constructive....
JE pense bien savoir faire la difference entre le ajax et le php. Mais toi qui a l'air si malin, eclair moi sur la façon de résoudre mon pb : Smiley biggrin
Pourrais-tu être plus précis et nous donner les noms desdites pages, qu'on s'y retrouve un peu, stp ?

Corrige-moi si je me trompe, mais en fait tu as page1.php qui contient une <div> et un <form>. Ce dernier, quand il est envoyé, appelle page2.php (et donc ton navigateur t'affiche page2.php et non plus page1.php), ce qui t'empêche de modifier la <div>.
Si c'est bien ça, il te suffit de bloquer le comportement par défaut du formulaire à l'aide de JavaScript, en ajoutant un e.preventDefault(); ou return false; dans une fonction liée à l'événement submit. A partir de là, ton formulaire ne servirait en fait plus à rien, et ce serait à toi de jouer avec de l'AJAX pour qu'il envoie des données vers un autre script, données que tu pourrais récupérer dans page1.php, et donc injecter dans ta <div>.
Bonjour phpdoesnotcare et merci de ta reponse.

J'ai une page index.php qui contient une balise <div> vide. J'arrive a remplir cette Div avec AJAX. Je m'explique : quand je clique sur un lien dans index.php, une page formulaire.php est mis dans la Div sans recharger la page index.php.

La page formulaire.php contient elle comme son nom l'indique un formulaire qui transmet des données en POST à resultat_formulaire.php. Quand je clique sur le bouton "submit" de formulaire.php j'ai le resultat de la page resultat_formulaire.php qui s'affiche dans tout le navigateur (normal quoi). Se que je voudrais faire (et eviter les iframes) c'est que resultat_formulaire.php soit afficher dans la div de index.php.

Merci de ton aide
D'accord, je comprends ce que tu cherches à faire. Mais je n'ai rien à ajouter par rapport à ce que je t'ai dit dans mon précédent post : essaie de passer par de l'AJAX pour gérer le formulaire que tu fais apparaître dans ton index.php.
Juste une petite question, je n'arrive pas a transmetttre des variables PHP à javascript. Tu peux me mettre sur la piste stp ?

Merci
Lors de l'appel d'un script PHP avec JavaScript (via un objet XMLHTTPRequest), tout ce qui retourne quelque chose en PHP sera retourné à JavaScript (qu'il s'agisse d'un echo, return, etc.), qui sera récupéré via la propriété responseText de ton objet XMLHTTPRequest. A toi de faire en sorte que ce que renvoie PHP soit compréhensible par JavaScript.
Merci pour cette reponse, mais j'ai trouvé d'où venait mon pb enfin plutot mon étourderie. quand je fixais la valeur d'une variable, je ne lui précisé pas que valeur récupérer. Ainsi maintenant j'arrive bien a faire ce que je souhaite Smiley smile
Merci pour ton aide