par
Ryle » 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 :
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]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"[/code]
Et tu peux donc utiliser ces valeurs pour mettre à jour les champs de ton formulaire :
[code]document.mnoFormulaire.monChampAge.value = tableau[3];[/code]