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

JavaScript Discussion :

[POO] Rechargement d'une page Php intègrant JS.


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Points : 8
    Points
    8
    Par défaut [POO] Rechargement d'une page Php intègrant JS.
    Bonjour à tous,

    Voilà, j'ai un problème avec le re-chargement d'une page php qui intègre une fonction JavaScript.

    J'ai joins mon code ainsi que ma BDD en annexe.


    Au premier chargement, la <DIV> qui s'appelle 'Form_modif_serv' est caché à l'aide d'une fonction JavaScript appelée à l'aide de l'événement onLoad de mon <BODY>.

    Ensuite, l'utilisateur sélectionne un service dans la liste. Au clic du bouton (de type submit) 'btAffiche', je charge dans les champs text 'Ancien Choix' les résultats d'une requête.
    En même temps, je veux que ma <DIV> 'Form_modif_serv' (qui contient les champs text) s'affiche.

    Le problème, c'est que je lance ma fonction d'affichage sur le clic du bouton et celle-ci s'exécute bien, mais comme le code php recharge ma page alors il relance la fonction JS sur mon <BODY> et me re-cache la <DIV>.

    Si vous avez une idée de comment procédez, je suis preneur.

    Merci.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expérimenté
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Points : 1 413
    Points
    1 413
    Par défaut
    Tu pourrais éviter de recharger ta page php en passant par ajax par exemple.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Oui, j'y avais pensé le problème c'est qu'ajax je ne le maîtrise pas du tout...
    Mais s'il n'existe pas d'autres solutions je vais essayer de m'y mettre un peu.
    J'ai une bonne connaissance de la Programmation Orientée Objet, mais auriez-vous quelques lexiques à m'indiquer ?
    Tout ce que je connais en AJAX, c'est la gestion des navigateurs, je ne savais pas que ça servait à autre chose...

  4. #4
    Membre expérimenté
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Points : 1 413
    Points
    1 413
    Par défaut
    Tu trouveras un bon tuto ici :
    http://gael-donat.developpez.com/web/intro-ajax/

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Je regarde ça, merci de ta réponse.

    Edit : Une question : Est-ce qu'on est obligé de "Parse" le résultat de la requête php en XML ?

    Ce n'est pas que je ne maîtrise pas la syntaxe, mais ça risque d'être assez compliqué s'il faut que je fasse un fichier par requête...

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    J'abandonne, c'est impossible de faire ça en AJAX, e vais faire deux pages ca m'éviteras de me prendre la tête pour rien ^^.

    Merci, quand même.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    J'ai réussi à le faire en Ajax, mais il subsiste un petit problème :

    Lorsque je clic sur le submit, j'ai mis un contrôle des champs vides en JavaScript et j'ai aussi réalisé ce contrôle en php (si les tous les champs ne sont pas remplis je n'exécute pas ma requête UPDATE). Est-ce qu'il faut que je fasse mon contrôle en Ajax pour que ma page ne se rafraichisse pas lors d'un 'envoi vide' ?

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    soumission de formulaire = chargement de la page en action ...
    autrement dit rechargement de la page ...
    donc ...

    pass par le onsubmit pour faire une verfication du formulaire

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    JavaScript
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function CtrlVide()
    {
    	if((document.saisie_service.Nom_service.value=='') || (document.saisie_service.choix_batiment.value=='') || (document.saisie_service.choix_niveau.value==''))
            {
    	     alert("Vous devez remplir tous les champs !");
    	     return;
            }
    }

    J'ai pas d'action sur mon form.

    Si ça ne fonctionne pas, c'est que le problème vient du Php ???

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    heu onsubmit c'est dans la balise form ...
    fais un tour dans les contributions ou la faq pour voir comment fonctionne un formulaire .

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Arf oui, j'avais oublié merci

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    J'ai parcouru la Faq Html, Php et JavaScript mais je n'ai pas trouvé ce que je cherchais...

    Est-ce que je peux bloquer le rafraichissement de la page en JavaScript ? Parce que là en fait, mon Php s'exécute alors que j'ai bien mis les contrôles isset et !empty afin qu'il n'envoie aucune requête.

    Le truc c'est que je met à jour un fichier Xml externe après l'insertion d'un nouvel enregistrement mais ce script ne doit s'exécuter que si l'insertion s'est correctement déroulée. C'est pour ça que je demandais s'il faut obligatoirement que j'effectue ce contrôle en Ajax.

    Je résume le scénario actuel de ma page :

    1) On sélectionne un service dans une liste déroulante chargée par Php.
    2) On clic sur un bouton pour afficher les informations du service
    a) Ajax charge l'enregistrement correspondant au service sélectionné, et affiche le formulaire qui contient les champs "pré-remplis" (contenant les données relatives à l'enregistrement chargé par Ajax).

    3) On modifie les champs voulus.
    4) On clic sur modifier pour mettre à jour l'enregistrement dans la base.
    a) Une fonction Js contrôle si tous les champs sont remplis.
    b) Je contrôle en Php si mes champs sont définis et remplis ( avec isset($_POST['']) et !empty($_POST['']) ).

    Si 4.b) J'envoie ma requête de mise à jour au serveur (UPDATE), et je contrôle avec mysql_affected_rows() que la ligne a bien été modifiée, si c'est le cas j'exécute ma fonction php qui met à jour mon fichier xml externe.

    Voilà, j'espère que c'est clair, j'ai un peu de mal a formuler mon problème, dites moi si vous n'avez pas compris je tenterais de réexpliquer.

    Merci de votre soutien.

    PS : J'ai essayé de corriger les fautes, mais le matin je vois pas très clair donc veuillez m'excuser si quelques unes m'ont échappé.

    PS2 : Il s'agit d'un script d'optimisation, j'ai fais un bidouillage pour que ma page fonctionne correctement sans Ajax (avec 2 pages Php), mais je suis ici pour en apprendre un maximum, donc tout conseil est le bienvenue.

    PS3 : Mon fichier xml est appelée dans un projet Flash, et cette page permet simplement à l'utilisateur (moins simplement pour moi :s ) de mettre à jour le fichier xml utilisée dans l'anim Flash.

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    J'ai triché en utilisant un :
    echo "<meta http-equiv=refresh content=\"0; url=Modification_service.php\">";
    Ca marche mais bon...

    Et j'ai toujours le problème du rechargement de la page quand les champs ne sont pas tous remplis.

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    C'est bon, j'ai tout fait en Ajax et ça donne bien
    Vive Ajax !
    Merci de votre aide.

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

Discussions similaires

  1. [PHP-JS] rechargement d'une page après validation
    Par illight dans le forum Langage
    Réponses: 7
    Dernier message: 16/05/2007, 11h55
  2. [POO] Comment appeler une page PHP sans iframe ?
    Par Stegue dans le forum Langage
    Réponses: 3
    Dernier message: 08/05/2007, 21h14
  3. Recharger un bout d'une page php
    Par Aragorn_destroy dans le forum Langage
    Réponses: 3
    Dernier message: 03/06/2006, 15h51
  4. Boutons Radios qui charge une page php différente
    Par nebule dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/11/2004, 15h25
  5. connection a mssql a partir d'une page php
    Par jean_marc dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/11/2003, 14h24

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