Creation de module et javascript

Bonjour à tous,

J’ai un soucis pour la création de mon module.
J’ai besoin d’y inclure une fonction javascript mais celle ci ne fonctionne pas.

Je précise que ma fonction été testée sur une page php simple et j’ai aucun soucis.

Par contre sur mon module dolibarr ca ne fonctionne pas. Je ne dois pas faire bien quelque chose mais j’arrive pas à trouver.

J’ai tester :
mettre le fonction sur la page php ou on l’utilise
créer un fichier .js que je vais appeler à l’aide des balises: <script type=« text/javascript » src=« script.js »></script>
insérer ma fonction dans le fichier du repertoire js/myjs.js en utilisant un echo après :header(‹ Content-Type: application/javascript ›);

La je sèche alors si vous avez une idée merci de l’aide.

A bientot

Bonjour,

moi je fais comme ceci ( ce qui me semble être la bonne manière)

$morejs=array("/timesheet/core/js/jsparameters.php","/timesheet/core/js/timesheet.js");
llxHeader('',$langs->trans('Timesheet'),'','','','',$morejs);

Bien à toi

1 « J'aime »

C’est aussi de cette manière que j’ai prévue de faire évoluer myList pour la V5 qui n’intègrera plus datatables nativement…

Bonjour,

Merci pour l’aide mais je dois mal comprendre donc je vais expliquer ce que j’ai essayé de faire et vous me dites ce qui ne va pas.

dans mon module j’ai ajouté un fichier script.js dans le fichier /monmodule/js
je n’ai pas touché au fichier myjs.js.php est ce normal ?

Pour l’intégrer dans mon fichier :

$morejs=array("…/…/monmodule/js/myjs.js.php");
llxHeader(’’, $langs->trans(‹ Nom de mon Module ›),’’,’’,’’,’’,$morejs);

J’ai aussi essayé
$morejs=array(« monmodule/js/myjs.js.php »);
llxHeader(’’, $langs->trans(‹ Nom de mon Module ›),’’,’’,’’,’’,$morejs);

ainsi que
$morejs=array(« js/myjs.js.php »);
llxHeader(’’, $langs->trans(‹ Nom de mon Module ›),’’,’’,’’,’’,$morejs);
et
$morejs=array("…/js/myjs.js.php");
llxHeader(’’, $langs->trans(‹ Nom de mon Module ›),’’,’’,’’,’’,$morejs);

Je précise l’arborescence de mon module.
monModule/js pour les script
monModule/pages/ . pour les pages php

Merci de votre aide

Bonjour,

mon exemple est sous cette forme:

 
$morejs=array("/Mymodule/core/js/jsparameters.php","/Mymodule/core/js/timesheet.js");
llxHeader('',$langs->trans('MyModule'),'','','','',$morejs);

j’ai donc un / avant le module.

un autre example est trouvable ici :https://git.aternatik.net/dolibarr/resource-planning/blob/3.6/resource_planning.php

PS: je pense que pour bien faire il faut mettre le dossier js dans core mais c’est un détails qui ne change pas ton soucis.

Bonjour

Quelques idées :
- vérifier que le fichier « script.js » est bien chargé avec la page (en utilisant le module développement du navigateur),
si ce n’est pas le cas, vérifier la ligne d’appel dans le code généré : le chemin doit être bon.

- vérifier qu’il n’y a pas une autre fonction javascript appelée à la place de celle dans ton « script.js ».

Après, à voir en fonction de ces éléments là.

F.

Hello à tous,

merci pour l’aide.

Alors j’ai réussi, grâce à la méthode fournie plus haut.

Le problème que j’avais était en réalité très très simple, j’avais oublié les «  » lors de l’appel de la fonction en gros j’avais écris:
oninput=mafonction() au lieu de oninput=« mafonction() »

Bref erreur bête de chez bête :unhappy:

En tout cas merci du coup de main .

A plush