rafraichisssement de formulaire et ajax

folla
Invité n'ayant pas de compte PHPfrance

09 août 2006, 22:49

est ce que je peux ecrire un code php dans le code javascript car mon probleme est que j'ecris uncode javascript pour rafraichir un
formulaire et pour cela j ai besoin de se connecter a la base de donnees pour extraire des donnees cad:dans mon formulaire
je dois entrer un identifiant de stage une fois que ce champ est rempli on aura les autres champs qui contiennent des informations propres a cet identifiant et qui sont dans le formulaire
qui sont affichés automatiquement donc a l'interieur de ce code javascript ecrit pour rafraichissement de formulaire je dois extraire les donnees de la base de donnees a chaque fois que je fais entrer un identifiant de stage?

est ce qu'en ajax je dois faire connexion a la base de donnees ou non ?

2eme qustion:
ce code permet rafraichissement de formulaire (en choisissant une option de la liste deroulante on aura les autres champs affichés )la seule difference entre ce code et celui que je veux ecrire pour mon formulaire est au lieu de la liste deroulante je dois remplir un champ texte par l'idenifiant de stage pour afficher les autres champs
qu'est ce que je dois faire surtout que je ne comprends pas beaucoup ajax et surtout cette instruction: var tab=elem.split(",");
qu'est ce que fais "split"?
trouver moi une solution svp et envoyez moi des liens pour un aide sur l'utilisation d'ajax.
merci infiniment.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

10 août 2006, 09:47

Alors pour répondre à ta première question : non tu ne peux pas mettre de php dans du javacript (ni dans du html d'ailleurs) dans la mesure ou le php s'exécute sur le serveur, il a déjà été interprété lorsque tu affiches la page (et donc que tu exécutes le javascript).

Jusqu'alors il fallait donc envoyer le formulaire au serveur, pré-remplir certains champs en fonction de ce qui avait été saisie (donc en php sur le serveur) et réafficher le nouveau formulaire avec les valeurs attendues :)

Ajax permet de faire appel au serveur sans avoir à recharger la page. Tu peux ainsi demander l'exécution d'un script php (et la connexion à une base de données sur le serveur) depuis ton javascript et en récupérer le résultat (qui correspondra à ce que ton sript php affichera à l'écran).

Ton script php doit donc t'afficher toutes les informations dont tu as besoin pour mettre à jour tes champs. Mais une fois affichées, il te faut pouvoir les distinguer : savoir ou commence et termine chaque valeur. Afin de les séparer tu peux utiliser un séparateur (virgule, point-virgule, ...) ex: nom;prenom;...

La fonction split en javascript permet de découper une chaine selon le séparateur spécifié, et de stocker les différentes valeur dans un tableau.

Ainsi si le script php affiche la chaine suivante : "nom;prenom;age;adresse"

Que cette chaine est récupérée via ajax dans ton javascript :

Code : Tout sélectionner

var tableau = laChaine.split(";"); // je divise la chaine dans le tableau (comme le explode() en php) // on obtient : tableau[0] => "nom" tableau[1] => "prenom" tableau[2] => "age" tableau[3] => "adresse"
Et tu peux donc utiliser ces valeurs pour mettre à jour les champs de ton formulaire :

Code : Tout sélectionner

document.mnoFormulaire.monChampAge.value = tableau[3];