[résolu][JS]OnLoad : une unique fonction seulement?

OnLoad : une unique fonction seulement? [résolu][JS] - HTML/CSS - Programmation

Marsh Posté le 11-05-2006 à 10:53:22    

Voilà voilà, j'ai besoin sur une page de deux scripts JS : un pour le controle de formulaire, l'autre pour l'affichage d'une "box" pour l'affichage d'une palette de couleur. Les fonctions d'initialisations de ces deux scripts étaient lancées à l'aide d'un window.onload = ...

 

J'ai donc voulu pouvoir lancer les deux lors du chargement de la page :

<body onload="initialisations()">


Avec :

initialisations = function()
{
    fctLoad();     /* Initialisation de la palette de couleurs */
    init_verif();  /* Initialisation du script de controle de champs */
}


et

init_verif = function() {
    document.getElementsByTagName("form" )[0].onsubmit =
    function () { return verif_form(this); }
}

 
 

 Le problème (parce qu'il y en a un) , c'est que quand je mets le fctLoad() en premier dans initialisations(), le script de palette de couleur s'exécute normalement, mais pas le script de vérification de champs.
  A l'inverse, si init_verif() est en premier, le controle de champs est opérationel, mais pas la palette!!

 

Y a-t-il un moyen de pallier à ce problème?

 

merci!


Message édité par Profil supprimé le 11-05-2006 à 11:52:21
Reply

Marsh Posté le 11-05-2006 à 10:53:22   

Reply

Marsh Posté le 11-05-2006 à 10:58:50    

Pourquoi ne pas faire de vraies fonctions histoire de clarifier tout ça ?


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 11-05-2006 à 11:00:16    

C'est pas le cas  ?  :heink:


Message édité par Profil supprimé le 11-05-2006 à 11:00:25
Reply

Marsh Posté le 11-05-2006 à 11:06:38    

Je sais pas comment le JS gere les fonctions anonymes et les pointeurs de fonctions donc dans le doute je ferai des déclarations classiques:  
 

function init_verif()
{
  // code
}


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 11-05-2006 à 11:12:03    

Si les fonctions sont de ce type, c'est que j'ai déja testé pas mal de trucs... Dont la déclaration classique que tu montre... Seulement ça ne marchait pas mieux :( dans le doute je viens de revenir à ta déclaration , mais ça ne marche toujours pas :/

Reply

Marsh Posté le 11-05-2006 à 11:14:48    

poste tout ton js ;)


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 11-05-2006 à 11:18:43    

vi parce que garanti ça marche! par exemple:

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2.   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
  4. <head>
  5.   <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  6.   <title>Exemple</title>
  7.   <script type="text/javascript">
  8.   function init(){
  9.     init_verif();
  10.     test();
  11.   }
  12.   function test(){
  13.     alert('pouet');
  14.   }
  15.   function init_verif(){
  16.     document.getElementsByTagName("form" )[0].onsubmit = function (event) { alert('submit');return false; }
  17.   }
  18.   </script>
  19.   <style type="text/css"></style>
  20. </head>
  21. <body onload="init()">
  22. <form action="truc.php">
  23.   <input type="submit" name="s" value="s"/>
  24. </form>
  25. </body>
  26. </html>

Reply

Marsh Posté le 11-05-2006 à 11:39:08    

Code :
  1. <title> Formations de Knowledge Community - Administration</title>
  2. <!-- Feuilles CSS -->
  3. <link rel="stylesheet" href="./style/style.css" type="text/css">
  4. <link rel="stylesheet" type="text/css" href="./style/ColorPicker.css" >
  5. <!-- Charset -->
  6. <meta http-equiv="Content-Type" Content="text/html; charset=iso-8859">
  7. <!-- flux RSS -->
  8. <link rel="alternate" type="application/rss+xml" title="RSS de Knowledge Community" href="http://localhost/formations/include/rss.php" />
  9. <!-- Merci pour ce script, TinyMCE, à son équipe de développement -->
  10. <script language="javascript" type="text/javascript" src="./jscripts/tiny_mce/tiny_mce.js"></script>
  11. <!-- Script qui passe d'une image plus à une image moins -->
  12. <!-- script de masque / apparition d'un div hidden -->
  13. <script  language="JavaScript" src="./include/switch_image.js"></script>
  14. <!-- Pour les couleurs de l'inscription -->
  15. <script type="text/javascript" src="./include/CP_Class.js"></script>
  16. <!-- Vérification de formulaires -->
  17. <script type="text/javascript" src="./include/verif_form.js"></script>
  18. <script type="text/javascript">
  19. function initialisations()
  20. {
  21.     fctLoad();
  22.     init_verif();
  23. }
  24. window.onscroll = function()
  25. {
  26. fctShow();
  27. }
  28. window.onresize = function()
  29. {
  30. fctShow();
  31. }
  32. </script>
  33. </head>
  34. <body onload="initialisations()">


 Voilà le code de la page... pour la fonction init_verif(), je l'ai postée tout à l'heure, j'ai juste changé la déclaration.


Message édité par Profil supprimé le 11-05-2006 à 11:39:24
Reply

Marsh Posté le 11-05-2006 à 11:44:58    

Remarque: tes balises link sont pas bien fermées. Faut les fermer comme ça sinon ça merde à ce que je me souviens: <link ....></link>


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 11-05-2006 à 11:48:46    

impossible de tester juste avec ça a cause de tous les includes de fichiers js externes...
Est-ce accessible en ligne directement?

Reply

Marsh Posté le 11-05-2006 à 11:48:46   

Reply

Marsh Posté le 11-05-2006 à 11:52:06    

Non anapajari, ce n'est pour le moment pas accessible, désolé :(
 
Merci boulax pour ta réponse, effectivement une fois les balises <link> fermées... Je trouve ça assez étonnant que ça fasse tout bugger :/ mais bon.... Merci beaucoup!
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed