IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Formulaire et affichage dans une DIV


Sujet :

AJAX

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2011
    Messages : 11
    Points : 8
    Points
    8
    Par défaut [AJAX] Formulaire et affichage dans une DIV
    Bonjour,

    Je dois actuellement créer un formulaire avec des cases à remplir et ensuite afficher le résultat dans une DIV (via $_GET de PHP) ce qui n'est pas un problème, mais ce que je souhaite c'est que lorsqu'on clique sur valider, cela ne recharge pas la page où se trouve le formulaire, mais "charge" la page de traitement dans une DIV ( dans mon cas elle s'appelle : 'droite') avec les arguments GET (ou même POST) .

    J'ai déjà réussi avec du javascript et XMLHttpRequest (avec quelque chose comme : document.getElementById("droite").innerHTML = xmlhttp.responseText). Cela marche bien mais mes $_GET ne sont pas envoyés (donc j'ai abandonné ce système) .

    J'ai simplifié mon code au maximum :

    Index.php
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <html>
    <head>
    </head>
     
    <body>
    	<form action="recherche.php" method="GET" id="rechercher">
    		<table>
    		<tr>
    			<td> <input type="text" placeholder="H" size="4" /> X </td> 
    			<td> <input type="text" placeholder="L" size="4" /> </td>
    			<input type='submit' value='Valider' id='submit-button' name='ok' /> 
    		</tr>
    		</table>
    	</form>
     
    	<div id="droite">
    	<!-- DIV DES RÉSULTATS-->
    	</div>
     
     
    </body>
    </html>

    recherche.php
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php 
    print_r($_GET);
    print_r($_POST);
    ?>

    Comment faire ?

    Merci d'avance de vos réponses.

    Cordialement,

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    pas sûr d'avoir réellement compris ton besoin attendu que visiblement tu à tout réussi à faire marcher

    Il semblerait que ta première démarche soit la bonne, utilisation de l'Ajax alors que te dire de plus...sinon que je déplace sur le forum Ajax.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2011
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    merci pour le déplacement,

    je pense avoir réussi après des heures de recherches... j'ai récupéré ce que j'avais trouvé pour l'AJAX et après j'ai rajouter la construction mon url en fonction des champs INPUT de la page:
    voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    <script type="text/javascript">
     function getXMLHttpRequest() {
        var xhr = null;
     
        if (window.XMLHttpRequest || window.ActiveXObject) {
            if (window.ActiveXObject) {
                try {
                    xhr = new ActiveXObject("Msxml2.XMLHTTP");
                } catch(e) {
                    xhr = new ActiveXObject("Microsoft.XMLHTTP");
                }
            } else {
                            xhr = new XMLHttpRequest();
                        }
        } else {
            alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
            return null;
        }
     
        return xhr;
    }
     
    function AJAX(url){
        xhr_object = getXMLHttpRequest();
     
        xhr_object.open("POST", url, false);
        xhr_object.send(null);
        if(xhr_object.readyState == 4){
            return xhr_object.responseText;
        }else return(false);
    }
     
     
    function submitForm(){
       	var x = document.getElementsByTagName("input");
    	var url = "recherche.php?";
        var i;
        for (i = 0; i < x.length; i++) 
    	{
        document.getElementById('droite').innerHTML += x[i].name;
     
    	url+=x[i].name+'='+x[i].value;
    	if(i+1<x.length)url+='&';
        }
     
        document.getElementById('droite').innerHTML = AJAX(url);
    }
    </script>
    et sur le bouton je fais un onclick="submitForm()"


    si ça peux aider d'autres personnes...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 07/08/2019, 15h52
  2. [AJAX] Affichage dans une div
    Par buched dans le forum jQuery
    Réponses: 4
    Dernier message: 04/06/2014, 19h41
  3. Réponses: 5
    Dernier message: 16/08/2011, 16h03
  4. Validation de formulaire et affichage dans une DIV
    Par zeplubo dans le forum Langage
    Réponses: 3
    Dernier message: 27/08/2010, 17h02
  5. [AJAX] Changement de contenu dans une div.
    Par tinoudu01 dans le forum AJAX
    Réponses: 10
    Dernier message: 01/05/2009, 12h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo