Page 1 sur 2

Php et jquery

Posté : 07 sept. 2012, 12:04
par damien01
Bonjour,

J'ai une application web en PHP qui me génère un code html qui fais appelle à du Jquery / js.
Une fois généré je m'aperçois que le "Javascript" ne s'active pas dans la page. Par exemple le contrôle des champs dans un formulaire qui est traité en "Javascript" ne fonctionne plus.
En revanche, lorsque je duplique le code html généré par mon application dans un fichier html lambda et que j'appelle ce dernier, là ça fonctionne...

Auriez - vous une idée du pourquoi?

Re: Php et jquery

Posté : 07 sept. 2012, 13:58
par xTG
Mauvaise intégration de ton code html/js dans ta page php. ;)
Montres nous un peu de code et on saura peut être t'en dire plus.

Re: Php et jquery

Posté : 07 sept. 2012, 14:42
par Berzemus
Quand tu écris "Java Script", est-ce que c'est réellement du Javascript ou est-ce autre chose qui est supposé l'être, ou qui remplit, au petit bonheur la chance, la même fonction ?

Re: Php et jquery

Posté : 07 sept. 2012, 15:06
par damien01
Quand tu écris "Java Script", est-ce que c'est réellement du Javascript ou est-ce autre chose qui est supposé l'être, ou qui remplit, au petit bonheur la chance, la même fonction ?
Oups, j'ai plus l'habitude de dire js que javascript => je corrige.
Sinon j'avoue ne pas trop savoir non plus, j'ai un template dans lequel se trouve du js / jquery /html5 / css3.
Je me suis inspiré d'un des exemples du template où il y avait un formulaire. Voyant que ça ne fonctionnait pas j'ai fait un copier coller du code me disant que j'ai du mal spécifier une valeur mais rien n'y fais.

Mauvaise intégration de ton code html/js dans ta page php. ;)
Montre nous un peu de code et on saura peut être t'en dire plus.
Et pourtant, lorsque mon application a généré la page, si je prends le code source (html), je copie son intégralité dans un fichier html et je l'exécute, là il fonctionne...

Je ne sais pas trop comment procéder...

Je suis nul en js, je ne suis pas l'auteur du code JS, j'ai défini les sources:
    <script src="../js/jquery-1.6.4.min.js"></script>
    <script src="../js/script.js"></script>
Et également j'ai copier la portion de code du formulaire de l'exemple, à savoir:
<fieldset>
                    <label class="name">
                        <input type="text" value="Nom:">
                        <span class="error">*Le nom saisit n'est pas valide.</span>
                        <span class="empty">*Le champ doit être remplit.</span>
                    </label>
                    <label class="phone">
                        <input type="text" value="Telephone:">
                        <span class="error">*This is not a valid phone number.</span>
                        <span class="empty">*Le champ doit être remplit.</span>
                    </label>
                    <label class="email">
                        <input type="text" value="E-mail:">
                        <span class="error">*This is not a valid email address.</span>
                        <span class="empty">*Le champ doit être remplit.</span>
                    </label>
                    <label class="message">
                        <textarea>Message:</textarea>
                        <span class="error">*The message is too short.</span>
                        <span class="empty">*Le champ doit être remplit.</span>
                    </label>
                    <div class="btns"><a class="button" data-type="reset">Vider</a><a class="button" data-type="submit">Envoyer</a></div>
                </fieldset>

Re: Php et jquery

Posté : 07 sept. 2012, 15:58
par xTG
Mauvaise intégration de ton code html/js dans ta page php. ;)
Montre nous un peu de code et on saura peut être t'en dire plus.
Et pourtant, lorsque mon application a généré la page, si je prends le code source (html), je copie son intégralité dans un fichier html et je l'exécute, là il fonctionne...
C'est donc bien une mauvaise intégration. Tu fais joujou avec la fonction include() de PHP non ?
Auquel cas attention aux chemins. ;)

Car PHP ne peut être incriminé, pour lui ce n'est que du texte qui ne sert à rien et qu'il n'interprète pas. :mrgreen:

Re: Php et jquery

Posté : 07 sept. 2012, 16:06
par Mazarini
Entre le fichier original et le fichier html copié, je me dit que le fait que ce soit un fichier .html force à assimilé à du text/html.

Peux être que ton html à une entête mal formée ?

Re: Php et jquery

Posté : 07 sept. 2012, 16:40
par damien01
Mauvaise intégration de ton code html/js dans ta page php. ;)
Montre nous un peu de code et on saura peut être t'en dire plus.
Et pourtant, lorsque mon application a généré la page, si je prends le code source (html), je copie son intégralité dans un fichier html et je l'exécute, là il fonctionne...
C'est donc bien une mauvaise intégration. Tu fais joujou avec la fonction include() de PHP non ?
Auquel cas attention aux chemins. ;)

Car PHP ne peut être incriminé, pour lui ce n'est que du texte qui ne sert à rien et qu'il n'interprète pas. :mrgreen:
Mais pourtant les chemins sont bon (enfin je crois) car depuis les chemins, spécifiés dans la page html générée, j'atteins les sources.

Re: Php et jquery

Posté : 07 sept. 2012, 16:50
par damien01
Entre le fichier original et le fichier html copié, je me dit que le fait que ce soit un fichier .html force à assimilé à du text/html.

Peux être que ton html à une entête mal formée ?
Je définis dans mon application l'entête.
$app->httpResponse()->addHeader("Content-Type: text/html; charset=utf-8");

Re: Php et jquery

Posté : 07 sept. 2012, 18:19
par xTG
Tu utilises donc un framework qui n'a s'il est bien construit aucun fichier PHP dans le dossier des ressources et scripts !
Donc ton chemin est bien mauvais :
../js/jquery-1.6.4.min.js
Cela devrait plutôt être un truc du genre :
web/js/jquery-1.6.4.min.js
Ou autre dossier ou succession de dossier du genre par rapport à ton bootstrap.

Re: Php et jquery

Posté : 07 sept. 2012, 19:33
par damien01
Tu utilises donc un framework qui n'a s'il est bien construit aucun fichier PHP dans le dossier des ressources et scripts !
Donc ton chemin est bien mauvais :
../js/jquery-1.6.4.min.js
Cela devrait plutôt être un truc du genre :
web/js/jquery-1.6.4.min.js
Ou autre dossier ou succession de dossier du genre par rapport à ton bootstrap.
J'avoue être perdu. Pour moi le chemin était bon puisque depuis le navigateur, d'après le chemin spécifié on accédait aux sources JS et Jquery.
Maintenant je me dis: si le chemin est mauvais pourquoi le "quasi" même chemin pour les images quant à lui fonctionne??? car les images se chargent correctement...

Le Framework fonctionne effectivement une arborescence au dessus.

Voici grosso-modo ce que j'ai:

MonAppli/
Bibliothèque/
...
Web/ =>
--------js/
--------images/
--------frontend.php => le fichier qui va contenir l'application et donc également la page
--------backend.php
--------.htaccess => pour url rewriting

Re: Php et jquery

Posté : 07 sept. 2012, 19:44
par xTG

Re: Php et jquery

Posté : 07 sept. 2012, 19:53
par damien01
Désolé, si je ne donne pas toutes les infos ça risque de pas aller.

Donc non, apache est configuré pour ne lire que les fichiers présents dans /web/

Ce qui ne gène aucunement l'interprétation des fichiers dans toute l'arborescence par PHP.

Re: Php et jquery

Posté : 07 sept. 2012, 20:00
par xTG
Donc http://domaine/frontend.php ?
Auquel cas le chemin est :
js/jquery-1.6.4.min.js

Re: Php et jquery

Posté : 07 sept. 2012, 20:12
par damien01
Donc http://domaine/frontend.php ?
Auquel cas le chemin est :
js/jquery-1.6.4.min.js
J'avais mis '../' car avec l'url rewriting j'avais par exemple MonAdresse/Contacts/

Maintenant je peux mettre 10 ../../ tu seras d'accord pour dire que cela ne change rien du fait que le DocumentRoot définit dans le fichier de configuration d'Apache est [...]/Web/.

En revanche c'est vrai que c'est pas très logique de le laisser.

Re: Php et jquery

Posté : 07 sept. 2012, 20:21
par xTG
Arf de l'url-rewriting...
Le mieux est encore d'ajouter une règle pour ne pas faire d'url-rewriting pour les ressources statiques.
Mais là je passe mon chemin je suis pas calé...