Passage de données sans rafraichir la page

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Passage de données sans rafraichir la page

Re: Passage de données sans rafraichir la page

par juliette » 03 sept. 2013, 19:24

est ce que tu sais tester si une variable $_POST[".."] existe ?
Si oui, tu crée 2 formulaire, a l'affichage de la page index tu affiche un formulaire ou l'autre si la $_POST venant de la modale existe ou pas...
// si une variable de la modale existe
        if(isset($_POST["modale"])){
            // LE formulaire avec les données de la modale
            // Ce formulaire poste vers l'index
        }
        // Si cette variable n'existe pas
        else{
            // Le formulaire avec les données de l'index
            // Ce formulaire poste vers la modale
        }
Si non, tu as aussi $_GET pour passer les infos par l'url

Sur bootstrap, la modal est dans la page, c'est peut être une autre solution, je sais pas trop: http://getbootstrap.com/2.3.2/javascript.html#modals

Re: Passage de données sans rafraichir la page

par spifspaf » 03 sept. 2013, 18:39

Re
Ben c'est l'idée que j'avais à la base de passer les données sur l'iframe de la modale éventuellement dans des input en hidden
Mais le soucis c'est qu'il faut gérer les deux boutons submit sur la page principale
En fait il en faut un qui revois toutes les données ( élément 1 2 3 et 4 )
Et un qui passe simplement les données ( 1 et 2 ) sur l'iframe et de plus j'ai pas trouver comment ouvrir cette foutue modale à partir d'un bouton ou simplement passer les valeurs de la page principale avec le lien identique à l'ouverture de la modale.

Re: Passage de données sans rafraichir la page

par juliette » 03 sept. 2013, 17:07

Je pense a une solution:
Sur ton index.php tu crée 2 formulaire le 1er visible avec seulement les 2 premiers champs et un bouton pour poster ces deux infos a la page modale...

Une fois arrivé sur la modale, tu récupère ces deux valeurs que tu mets dans des champs cachés et tu as 2 nouveaux champs visibles pour les éléments 3 et 4 et un bouton pour poster ces quatre valeurs vers l'index...

Retour sur l'index, tu cache le 1er formulaire et tu affiche le 2eme qui lui contient les 4 champs envoyer par la modale et tu met un bouton pour poster...

Je sais pas trop si c'est bien ou pas mais a priori ça devrait pouvoir faire ce que tu veux...

Re: Passage de données sans rafraichir la page

par spifspaf » 03 sept. 2013, 13:08

Salut et merci pour le réponse très chère lotoise .... suis originaire du lot aussi ( Cahors )
Vais regarder cela de plus près mais j'avoue que j'ai fais quelques recherches et il y a certaines choses que je n'arrive pas à comprendre.
L’idéal aurait été qu'une âme charitable veuille bien me donner un exemple pour mieux comprendre avec l'exemple que j'ai donné ....
Allé c'est reparti pour des heures de recherches.
Mici :D

Re: Passage de données sans rafraichir la page

par juliette » 02 sept. 2013, 22:45

Salut, pas sur de moi car je débute...
Il ne me semble pas que tu ais besoin d'ajax, jquery devait suffire a remplir tes champs...
Au moment ou tu poste de ta modal, la page principale est actualiser et les infos des champs 1 et 2 ne sont pas en mémoire et ne peuvent donc pas être ré afficher...
Je pense qu'il fraudais cibler les 2 champs en question et ne modifier que ceux ci sans actualiser la page...
Sur de rien, vérifie ce que je t'ai dis... bonne chance !

Passage de données sans rafraichir la page

par spifspaf » 02 sept. 2013, 21:47

Bonsoir à tous,
je viens vers vous en espérant trouver de l'aide pour ma réalisation ...

Voila je désire insérer des données externes dans des inputs sur une page principale par l’intermédiaire d'une page externe ( iframe dans une modale )

j'y arrive mais le soucis c'est que ça me relance la page et me fait sauter les données déjà saisies

Petit exemple ici : http://www.letoutweb.com/page_test/index.php

Le but étant de saisir les éléments 1 et 2 sur la page principale et par la suite de rajouter les éléments 3 et 4 à partir de la modale

Apparemment on utilise ajax pour cela mais je n'ai trouvé rien de concret ( pour être sincère j'y comprends rien ) ... et si l'un de vous peut me donner un exemple ou une piste ça serait bienvenue.

Merci par avance.

Page index.php

Code : Tout sélectionner

<html> <head> <title></title> <link rel="stylesheet" href="css/jquery.superbox.css" type="text/css" media="all" /> <link rel="stylesheet" href="css/custom_superbox.css" type="text/css" media="all" /> <script type="text/javascript" src="js/jquery-min_box.js"></script> <script type="text/javascript" src="js/jquery.superbox-min.js"></script> <script type="text/javascript"> $(function(){ $.superbox.settings = { closeTxt: "Fermer", loadTxt: "Chargement...", nextTxt: "Suivant", prevTxt: "Précédent" }; $.superbox(); }); </script> </head> <body> <?php $element_3 = $_POST['element_3_ext'] ; $element_4 = $_POST['element_4_ext'] ; echo' <br><br> <form method=post action="#"> Elément 1 <input type="text" name="element_1" value=""> <br> Elément 2 <input type="text" name="element_2" value=""> <br> Elément 3 <input type="text" name="element_3" readonly="readonly" value="'.$element_3.'"> <br><br> Elément 4 <textarea name="element_4" rows="1" cols="30" readonly="readonly">'.$element_4.'</textarea> <br><br><br> <a href="page_rajout.php" rel="superbox[iframe][800x800]">Ajouter les éléments 3 et 4 </a> <br><br> <input type="submit" value="Valider le formulaire" > </form> '; ?> </body> </html>
Page de rajout ( iframe ) page_rajout.php

Code : Tout sélectionner

<html> <head> <title></title> </head> <body> <?php echo' <br><br> <form method=post action="index.php" Target="_parent"> Elément 3 : &nbsp;&nbsp; <select name="element_3_ext" > <option value=""></option> <optgroup label="Gamme GBI"> <option>GBI 2vtx</option> <option>GBI 3vtx</option> <option>GBI 4vtx</option> </optgroup> <optgroup label="Gamme GY"> <option>GY 2vtx</option> <option>GY 3vtx</option> <option>GY 4vtx</option> </optgroup> </select> <br><br> Elémént 4 <textarea name="element_4_ext" rows="1" cols="30" ></textarea> <br><br> <input type="submit" value="Valider le formulaire" > </form> '; ?> </body> </html>