|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité de passage
![]() Inscription : juin 2011 Messages : 17 ![]() |
Bonjour,
Cette question est surement naive, car c'est vraiment le B.A.-BA du js, mais ... Je ne parviens pas à lier mon fichier js à ma page php. En résumé, j'ai 4 fonctions appelées sur des événements onclick sur des input. Les fonctions ne sont pas très compliquées, je les ai testées en les écrivant dans le fichier php (entre les balises <script>), tout fonctionnait à merveille. Je souhaite désormais les enregistrer dans un fichier .js, mais cela ne fonctionne plus. J'ai pourtant lu des dizaines de tutoriaux sur divers sites, et je ne comprends pas ce que j'ai fait de travers. Voici le head de ma page php qui appèle les fonctions : Code xhtml :
Voici ensuite mon fichier fonctions_javascript.js : Code javascript :
Et enfin, voici un endroit où j'appèle la première fonction (maj_colonnes() ): Code html :
Je suppose que c'est une erreur stupide, mais j'ai passé tellement de temps à la chercher que je suis condamné à ne plus la voir. Merci d'avance si l'un d'entre vous prenait le temps de m'éclairer. |
||||||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Lorsque tu cliques sur un input de type submit, la fonction est lancée puis le formulaire est soumis immédiatement, tu n'as donc pas le temps de voir les modifications avant que la page soit rechargée.
Change ton input en type button et ça arrangera les choses (sauf que tu n'auras plus de submit )
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juin 2011 Messages : 17 ![]() |
Hum ... Je vais peut-être dire une connerie (parce que je suis novice), mais c'est à ca que sert la fonction setTimeout(), non?
Parce que, comme je le disais, mes fonctions fonctionnent parfaitement si j'écris leur définition dans mon fichier php. |
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Étudiant Inscription : mai 2011 Messages : 226 ![]() |
Première question : est-ce que ton fichier js est bien chargé ?
Deuxième question : est-ce que ta fonction est bien exécutée ? 30 façon de trouver la réponse à ces questions. Je te laisse trouver celle qui te convient et nous donner les réponses |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juin 2011 Messages : 17 ![]() |
Bonjour,
C'est mon fichier qui semble ne pas se charger du tout (un petit alert en haut du fichier qui ne s'execute même pas me permet d'arriver à cette conclusion). |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 421 ![]() |
où as-tu mis ton fichier js et ton fichier php sur ton disque
car tel que tu l'as écrit les deux doivent être au même endroit A+JYT |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : juin 2011 Messages : 17 ![]() |
Les deux fichiers sont à la racine, donc dans le même répertoire.
|
|
|
00
|
|
|
#8 |
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
Bonsoir,
Si les fichiers Javascript sont à la racine, où est la page html générée en php ? Tu utilise un chemin relatif puisque tu mets le nom du fichier seul (il faut donc que les fichiers soient au même endroit que la page), si la page est dans un sous-dossier, il faut utiliser un chemin absolu (qui commence par / qui représente la racine) ou alors adapter le chemin relatif ( quelque chose comme ../monfichier.js pour "remonter" d'un dossier.) |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : juin 2011 Messages : 17 ![]() |
Bonjour,
La tu me poses une colle. Mon fichier php et mon fichier js sont dans le même repertoire, mais j'avoue ne pas savoir où se trouve la page html générée (bêtement, j'aurais cru qu'elle se trouvait au même endroit que le php). Comment savoir où est ma page html? Autre question, si mon chemin commence par "/", c'est un chemin absolu? (ce que tu viens de m'écrire). J'aurai cru le contraire, et qu'il fallait entre www.truc.com/etc pour avoir l'adresse absolue. |
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 421 ![]() |
il ne faut pas confondre CHEMIN et URL
/toto/tata/monfichier est un chemin absolut ton navigateur va utiliser le serveur de la page courante pour lui demander le fichier ton serveur va ignorer le dossier de la page courante, partir de la racine et suivre ton chemin pour trouver le fichier. http://servertoto/tata/monfichier est une url absolue ton navigateur va ignoré le nom du serveur de la page courante et envoyer la demande (/toto/tata/monfichier) au serveur sépcifié dans l'url) le serveur en question va alors suivre le chemin depuis sa racine pour trouver le fichier un chemin relatif tata/monfichier ton Navigateur va cherche le chemin de la page courante (/app/dir/mapage.html) il va déterminé le dossier de la page (/app/dir/) il va constituer un nouveau chemin (/app/dir/tata/monfichier) qu'il va demander au serveur de la page courante. ton serveur va alors parcourir ce nouveau chemin pour trouver le fichier. A+JYT |
|
|
10
|
|
|
#11 |
|
Invité de passage
![]() Inscription : juin 2011 Messages : 17 ![]() |
Merci pour ces éclaircissements.
Je vais faire quelques essais, peut-être qu'en ayant mieux compris ce détail, je retrouverai mon erreur. En général, vaut-il mieux utiliser un chemin relatif ou absolu (dans mon cas par exemple, où je suis sensé connaître les deux)? |
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : juin 2011 Messages : 17 ![]() |
J'ai essayé plusieurs variantes (chemin relatif, chemin absolu, url), mais ça ne fonctionne toujours pas.
Comme je travaille sur un serveur local (WAMP), pensez-vous que ca puisse venir de là? (genre Apache ne peut pas lier de fichier js aux fichiers php... Mais je ne vois pas trop pourquoi). |
|
|
00
|
|
|
#13 | ||
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 421 ![]() |
tu ouvre les fichier de log de ton serveur
fichiers apache/logs/access.log tu vas trouver des choses comme Code :
HTTP/1.1" 404 mais surtout sur la ligne en question tu va trouver le chemin que tu demande réellement à ton serveur si tu as mis Code :
<script language=javascript type="text/javascript" src="fonctions_javascript.js"></script> http://localhost/monappli/dossier1/dossier2/mapage.html normalement tu dois voir GET /dossier1/dossier2/fonctions_javascript.js dans tes logs A+JYT |
||
|
|
00
|
|
|
#14 | ||
|
Invité de passage
![]() Inscription : juin 2011 Messages : 17 ![]() |
Voici les dernières lignes du fichier :
Code :
EDIT : filtre_attributs.php est le fichier appelant mon fichier javascript. L'appel se fait entre les balises <head> |
||
|
|
00
|
|
|
#15 |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 421 ![]() |
tu n'as pas de ligne contenant
fonctions_javascript.js ?? |
|
|
00
|
|
|
#16 |
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
Effectivement seikajin a bien fait de préciser ce que j'avais un peu trop vaguement essayer de définir...
Par contre, je ne vois pas l'intérêt d'aller voir dans les logs du serveur quelque chose qui semble plutôt coincer du côté client... Je ne sais pas quel navigateur tu utilise, mais il existe des outils de développement qui permettent de voir les ressources demandées par le navigateur et surtout de voir celles qui ne sont pas atteintes... (onglet réseau de firebug par exemple) Une petite remarque(piste?) aussi : dans ton premier post, tu donne un code soit-disant xhtml alors qu'il n'est pas valide (attribut language de ta balise script par exemple). Selon le doctype utilisé et surtout selon le navigateur utilisé, ça pourrait peut-être donner un mauvais résultat... |
|
|
00
|
|
|
#17 |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 421 ![]() |
aller voir côté serveur sert à voir exactement ce que le client demande
s'il y a une erreur de path on voit de suite le chemin que le serveur cherche de même si le navigateur ne demande pas le fichier il n'apparaît jamais dans les log du serveur dans ce cas c'est un erreur dans le code html et ça marche quelque soit le navigateur la plateforme de plus avec un serveur WAMP il sont directement lisible il suffit d'ouvrir le fichier avec Chrome safari et tout les navigateur webkit il suffit de faire un clic-droit et ouvrir inspecter l'élément pour voir apparaître les outils. dans safari le menu outil propose l'entrée activité qui trace l'activité réseau dans fire fox il faut installer un add-on (fire bug ou équivalent) dans IE la développer tool bar propose la même chose. quid des navigateur de portable de tablette en mode texte pour les mal voyants etc. ? savoir ce qu'on peut trouver dans les log ça aide A+JYT |
|
|
00
|
|
|
#18 | |
|
Membre Expert
![]() Matilin TorreÉtudiant Inscription : juin 2010 Messages : 679 ![]() |
À tout hasard…
Citation:
__________________
Disposition de clavier ergonomique française : Bépo |
|
|
|
00
|
|
|
#19 |
![]() ![]() Andry Aimé Inscription : septembre 2007 Messages : 5 128 ![]() |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com