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] Utilisation fonction ajax en php sans evenement


Sujet :

AJAX

Vue hybride

hx2508 [AJAX] Utilisation fonction... 25/04/2012, 15h26
NoSmoking Bonjour, coté serveur il te... 25/04/2012, 20h00
hx2508 Je reformule 26/04/2012, 02h01
Invité Bonjour, il faut voir... 04/05/2012, 09h17
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juin 2011
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 10
    Par défaut [AJAX] Utilisation fonction ajax en php sans evenement
    Salut à tous...
    Afin de ne pas recharger toute la page, mon site est conçu d'une page principale dans laquelle, avec une fonction utilisant XMLHttpRequest, je charge une "sous-page".
    Tout se passe bien lorsque cette fonction est appelée par un évenement tel que celui-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="#" onClick="fonction1_XMLHttpRequest('variable1,variable2,variable3'); fonction2_XMLHttpRequest('variable1,variable2,variable3')" title="">

    Aucun problème d'appel de une, deux ou trois fonctions différentes sur un même évènement !
    En revanche, je ne parviens pas à trouver la façon d'appeler au moins une fonction sans évènement.
    Je m'explique par un exemple : j'appel le formulaire contact par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onClick="fonction1_XMLHttpRequest('contact,fr,0')" title="">
    Le formulaire se charge, l'utilisateur remplit les champ, et envoi.
    Le traitement se fait, et en retour je veux soit ré afficher le formulaire suite à erreur, soit afficher une page de confirmation d'envoi.
    du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    die('<META HTTP-equiv="refresh" content=0;URL=page.php>'); 
    exit();
    Mais naturellement par ma fonction XMLHttpRequest.
    Suivant divers conseils j'ai testé entre autre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script language="javascript">fonction1_XMLHttpRequest('erreur_contact,fr,0')</script>
    Je précise que la fonction et le résultat sont parfait avec l'utilisation d'un évènement afin de vérifier que tout soit ok !
    Mais il ne peut en être question en fonction normale !
    Merci de votre aide...
    Précision : l'utilisation de XMLHttpRequest simplifie la gestion et la conception d'un site, puisque qu'il est inutile de recharger le site une fois ouvert (sauf pour un site multilangue où le changement du langage obliqe un rechargement complet !)

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 202
    Par défaut
    Bonjour,
    coté serveur il te suffit d'envoyer la réponse et de la traiter au retour coté client.

    Que doit-on donc faire côté serveur ?

  3. #3
    Membre habitué
    Inscrit en
    Juin 2011
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 10
    Par défaut Je reformule
    Comment lancer cette commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fonction1_XMLHttpRequest('contact,fr,0')
    sans évenement ?
    Pour être encore plus clair, effectuer cette commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onClick="fonction1_XMLHttpRequest('contact,fr,0')" title="">
    sans avoir recours à l'évènement Onclick ou autre évènement !

    Ou bien, quel est l'équivalent ajax de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script language="javascript">fonction1_XMLHttpRequest('erreur_contact,fr,0')</script>

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    il faut voir l'enchainement logique des actions.

    1/ [html] lien :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="afficher_page_contact_form(...);">contact</a>
    2/ [javascript/Ajax] onclick :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function afficher_page_contact_form(...)
    {
    	// ajax : appel PHP : affichage_formulaire.php
    	// RETOUR traitement
    	...innerHTML = responsetext; // affichage dans la page
    	}
    }
    3/ [html/PHP] formulaire :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form method="post" onsubmit="traitement_contact_form(...)">
    [...]
    </form>
    4/ [javascript/Ajax] onsubmit :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function traitement_contact_form(...)
    {
    	// ajax : appel PHP : traitement_formulaire.php
    	// RETOUR traitement
    // ICI : PAS BESOIN DE ONCLICK OU AUTRE, on est DEJA dans javascript !
    	var resultat = responsetext; // affichage dans la page
    	if (resultat == 'erreur') { // réaffichage du formulaire
    		afficher_page_contact_form(...);
    	} else {
    		afficher_page_confirmation(...);
    	}
    }
    Après, il faut jongler avec tous les paramètres à transmettre aux différentes fonctions.

    Mais je peux me tromper...

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/08/2011, 11h23
  2. [AJAX] Utilisation d'Ajax.periodicalUpdater et Php
    Par borkipreiz dans le forum AJAX
    Réponses: 2
    Dernier message: 06/07/2010, 15h05
  3. Réponses: 7
    Dernier message: 15/02/2009, 23h01
  4. [AJAX] utilisation d'ajax php mysql
    Par aurelkb dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/09/2008, 09h58
  5. [AJAX] Recharger un menu deroulant php sans recharger la page
    Par ns_deux dans le forum Général JavaScript
    Réponses: 25
    Dernier message: 22/07/2006, 15h59

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