Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/01/2012, 11h02   #1
Membre du Club
 
Avatar de razorlok
 
Inscription : novembre 2006
Messages : 190
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 190
Points : 66
Points : 66
Par défaut include ficher php dans script ?

Bonjour à tous,

Etant pratiquement profane en javascript et cherchant à modifier une fonction permettant d'ajouter un champ à un formulaire, j'ai besoin que ce champ intègre une liste de noms générée par une requête d'un fichier php.

Est-ce qu'un include de fichier php peut-être envisageable dans ce cas là :

Code :
1
2
3
4
5
6
7
8
9
10
11
function create_champ(i) {

var i2 = i + 1;

document.getElementById('leschamps_'+i).innerHTML = 
'<select name="nom_auteur'+i+'" style="width: 180px"/><?php include "../liste_deroulante.php"; ?></select>';
document.getElementById('leschamps_'+i).innerHTML += (i <= 10) ?
'<br /><span id="leschamps_'+i2+'"><a href="javascript:create_champ('+i2+')">Ajouter un champs</a></span>' : '';

}
__________________
Wear some golf shoes, otherwise we'll never get out of this place alive.
razorlok est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 11h10   #2
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 873
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 873
Points : 1 382
Points : 1 382
Oui, ça devrait fonctionner.

Si ton fichier "liste_deroulante.php" génère bien des "<option>" ça ne devrait pas poser de problèmes.

Ton fichier script doit lui aussi être un fichier ".php" pour que tes balises php soient intéprétées ("<?php include...").

Aussi n'hésites pas à inclure le bon header au début de ton fichier PHP (ton script) :
Code php :
1
2
3
4
5
6
7
8
9
10
11
<?php    header("Content-type: text/javascript"); ?>
function create_champ(i) {
 
var i2 = i + 1;
 
document.getElementById('leschamps_'+i).innerHTML = 
'<select name="nom_auteur'+i+'" style="width: 180px"/><?php include "../liste_deroulante.php"; ?></select>';
document.getElementById('leschamps_'+i).innerHTML += (i <= 10) ?
'<br /><span id="leschamps_'+i2+'"><a href="javascript:create_champ('+i2+')">Ajouter un champs</a></span>' : '';
 
}

sur ta page qui appelle le script, tu peux mettre une URL se terminant par .PHP au lieu de .JS, ex :
Code html :
<script type="text/javascript" src="monscript.php" ></script>

ou bien jouer avec les htaccess, mais ce n'est pas nécessaire et ce qui n'est pas nécessaire est inutile.
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 12h34   #3
Membre du Club
 
Avatar de razorlok
 
Inscription : novembre 2006
Messages : 190
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 190
Points : 66
Points : 66
Merci pour ta réponse, j'y vois déjà un peu plus clair !

Ma page qui appelle la fonction est elle-même une page php.
J'appelle donc la fonction comme ceci :
Code :
1
2
3
4
<?php
include '../header.html';
include 'js/ajout_champ.php';
?>
Est-ce suffisant par rapport au <script type="text/javascript" src="monscript.php" ></script> ?
Ma page php intègre le header par un include, donc je ne peux pas placer l'appel du script entre les balises <head>.

Le script ajoute bien des nouveaux champs vides, mais il ne charge pas la liste déroulante.
__________________
Wear some golf shoes, otherwise we'll never get out of this place alive.
razorlok est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h47.


 
 
 
 
Partenaires

Hébergement Web