[javascript] erreur 'xxx' indefini

Scorpio -  
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

j'ai une petite fonction qui me permet de rajouter une nouvelle portion de formulaire si on en modifie une.
j'ai donc récupérer un script sur internet (que j'avoue ne pas maitriser...) qui est censé inclure le code du formulaire, comme le fait la fonction include en php.

Seulement, il me renvoit systématiquement l'erreur 'intervention indéfini'...

Voila mon script

<script type="text/javascript"> 
    function include(fileName) { 
        if (document.getElementsByTagName) { 
            Script = document.createElement("script"); 
            Script.type = "text/javascript"; 
            Script.src = fileName; 
            Body = document.getElementsByTagName("BODY"); 
            if (Body) { 
                Body[0].appendChild(Script); 
            } 
        } 
    } 
</script>


ainsi que la ligne qui permet de l'exécuter

<input type="text" size="40" name="youhou" onchange="include(intervention.php)">

Voila... Je suis un débutant en javascript donc l'erreur peut etre n'importe ou ^^

Merci à ceux et celles qui essaieront de m'aider.
A voir également:

7 réponses

Scorpio
 
Ok merci je comprends mon erreur...

Mais je ne sais pas comment faire pour y remédier.
Avec ce que tu as donné je sais comment faire pour écrire et utiliser ce que j'ai écrit.
Mais dans mon cas il s'agit d'insérer tout le code contenu dans la page intervention.php...

Merci encore
1
mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 
L'erreur est ici :
<input type="text" size="40" name="youhou" onchange="include(intervention.php)"> 

Elle est assez fondamentale au passage. Il faut bien faire la distinction entre :

- le code HTML, CSS, et javascript : compréhensible par le navigateur. Le code javascript est complètement indépendant du serveur apache, il est juste interprété par le navigateur. En particulier tu peux faire marcher une page web qui n'a que du HTML/CSS/javascript sans serveur web.

- le code PHP : il est interprété par le serveur web (serveur apache). Le code PHP ne peut être compris que de lui. Le serveur apache convertit le code PHP en code HTML compréhensible par le navigateur. En particulier quand tu fais une requête à une base de donnée, le serveur apache doit renvoyer le résultat de la requête sous forme de code HTML compréhensible par le navigateur.

Donc là tu déclenches dans un évenement javascript l'inclusion d'un fichier PHP. Or l'inclusion du fichier PHP n'a de sens que sur le serveur apache, donc dans une section de code PHP !

Je suppose que tu aimerais modifier une partie du code HTML de la page sur cet évenement javascript. C'est tout à fait faisable, mais en javascript pur. Pour celà tu peux utiliser les balises div :
<DIV id="plop">
<!-- La zone dans laquelle je vais écrire avec mon javascript-->
</DIV>

Ensuite, tu peux récupérer en javascript cette zone avec la fonction getElementById(). Tu récupères ainsi l'objet div dans une variable javascript. Il ne reste plus qu'à modifier son contenu comme une chaîne de caractère classique, en modifiant le champ innerHTML. En particulier tu peux mettre du code HTML dans ce champ.

Un exemple ici :
developpeur.journaldunet.com

Bonne chance
0
mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 
La réponse est dans le lien !
0
Scorpio
 
Ce que je voulais dire c'est que là on affiche un texte "codé en dur".

Moi je veux afficher toute une portion de code... Est ce que je dois la retaper telle quelle? Excuse si je suis à coté de mes pompes...

Pour t'expliquer mon problème, en fait quand t'arrive sur la page, t'as une liste de noms affichée dans des champs (nom, prenom, date etc...). Suivant le cas, il peut avoir 1 nom, plusieurs ou pas du tout.

donc ca c'est fait grace à une requete sql et un include php.

EN PLUS de ca, je voudrais qu'une liste vide soit affichée (la meme mais pas remplie). Si tu veux rentrer un nouveau nom, tu le fais, et là, ya un autre champs vide qui s'affiche pour ressaisir un nom etc. C'est là que le javascript intervient.

Donc j'ai déjà le code tapé dans un fichier php (je dois modifier le nom des champs à chaque fois... nom-du-champs.&i, et on incrémente i.) et je voudrais le récupérer pour pas le retaper.

Là forcément, il m'affiche le nom du fichier...

Merci encore et désolé ^^
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 
Ta fonction javascript peut récupérer les valeurs saisies dans le formulaire, ou les passer en paramètre de ta fonction javascript (le code PHP étant "appelé avant" le code javascript, et ces paramètres seront passés en dur au moment où le serveur apache va envoyer la page avec juste le HTML/CSS/JS).

Et tu n'as pas à être désolé !
0
Scorpio
 
ok merci j'essaierai comme ca...

Là j'ai momentannément laissé tombé le problème et je me suis rabattu sur une fonction php (avec un bouton "ajouter un nom").
MAis c'est moins bien donc je pense revenir au js.

Merci encore
0
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Tu peux aussi faire de l'AJAX en utilisant les objets XMLHttpRequest de javascript si tu connais.
0