Fonction qui ne fonctionne que par onclick

Résolu
etu54 Messages postés 27 Date d'inscription mardi 2 juin 2009 Statut Membre Dernière intervention 26 juillet 2011 - 5 juil. 2010 à 16:27
etu54 Messages postés 27 Date d'inscription mardi 2 juin 2009 Statut Membre Dernière intervention 26 juillet 2011 - 8 juil. 2010 à 09:04
Bonjour a tous,

Voila mon probleme sur lequel je me casse la tete depuis quelques heures est en rapport avec une biblioteque que j'ai trouver sur le net : jaria (Tapez le texte de l'url ici.

Cette biblioteque permet de géré une page sous forme d'onglet un peu comme un navigateur internet. Mon probleme est que je voudrai cacher des onglet suivant les données d'un formulaire préalable.

La biblioteque possede deja la fonction qui permet de cacher mais voila cela ne fonctionne pas, si je veux cacher des onglet il faut que je créer un bouton et sur l'évenement onclick je place la fonction.

Je voudrais tout simplement appeler cette fonction sans bouton mais rien a faire.

voici un bout de code pour mieu visualiser la chose
<script type="text/javascript" language="JavaScript">
<!--
  function Load(){
    /* hauteur du frame (300 par défaut) */
    oTab.height = 400;
    oTab.show ("cadre");

    /* ajoute les onglets de tabulation */
    oTab.add ("page_1", "page_1.php");
    oTab.add ("Page_2", "page_2.php");

  } 

  /* ajoute la fonctions Load() à l'évènement window.onload */
  oNav.addevent ("onload", Load);

-->
</script>



Et la fonction pour cacher est
oTab.del("Nom_de_la_page")


Merci d'avance pour toute réponse

34 réponses

jparia Messages postés 25 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 30 août 2010
6 juil. 2010 à 11:26
En gros tu voudrais faire cela:

[code=js]
<script type="text/javascript" language="JavaScript">
<!--
function Load(){
/* hauteur du frame (300 par défaut) */
oTab.height = 400;
oTab.show ("cadre");

/* ajoute les onglets de tabulation */
oTab.add ("Chaudronnerie", "chaudronnerie.php");
oTab.add ("Tuyauterie", "tuyauterie.php");
oTab.add ("Maintenance", "maintenance_travaux.php");
oTab.add ("Mécanique", "mecanique_travaux.php");
oTab.add ("Electrique", "electrique_travaux.php"%
0
jparia Messages postés 25 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 30 août 2010
6 juil. 2010 à 11:27
En gros tu voudrais faire cela:

[code=js]
<script type="text/javascript" language="JavaScript">
<!--
function Load(){
/* hauteur du frame (300 par défaut) */
oTab.height = 400;
oTab.show ("cadre");

/* ajoute les onglets de tabulation */
oTab.add ("Chaudronnerie", "chaudronnerie.php");
oTab.add ("Tuyauterie", "tuyauterie.php");
oTab.add ("Maintenance", "maintenance_travaux.php");
oTab.add ("Mécanique", "mecanique_travaux.php");
oTab.add ("Electrique", "electrique_travaux.php"%
0
jparia Messages postés 25 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 30 août 2010
6 juil. 2010 à 11:27
En gros tu voudrais faire cela:

[code=js]
<script type="text/javascript" language="JavaScript">
<!--
function Load(){
/* hauteur du frame (300 par défaut) */
oTab.height = 400;
oTab.show ("cadre");

/* ajoute les onglets de tabulation */
oTab.add ("Chaudronnerie", "chaudronnerie.php");
oTab.add ("Tuyauterie", "tuyauterie.php");
oTab.add ("Maintenance", "maintenance_travaux.php");
oTab.add ("Mécanique", "mecanique_travaux.php");
oTab.add ("Electrique", "electrique_travaux.php"%
0
jparia Messages postés 25 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 30 août 2010
6 juil. 2010 à 11:30
j'ai fais un print-écran car apparemment le forum n'accepte pas mon code

En gros tu voudrais faire cela:



mais c'est pas logique...
0

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

Posez votre question
etu54 Messages postés 27 Date d'inscription mardi 2 juin 2009 Statut Membre Dernière intervention 26 juillet 2011 1
6 juil. 2010 à 12:07
Oui en gros mais justement je veux faire oTab.del apres avoir récupéré des valeur d'une checkbox donc je ne peux pas le faire dans le load directement.

Je sais que vu de l'exterrieur cela doit etre difficile a comprendre mais je suis obligé de faire comme cela
0
jparia Messages postés 25 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 30 août 2010
6 juil. 2010 à 13:35
Le client sélectionne des cases à cocher et tu veux faire apparaître des onglets selon ses choix?
Dans ce cas, pourquoi ne pas utiliser l'évènement onclick sur chaque case à cocher pour appeler une fonction qui ajoutera ou supprimera les onglet?
0
etu54 Messages postés 27 Date d'inscription mardi 2 juin 2009 Statut Membre Dernière intervention 26 juillet 2011 1
6 juil. 2010 à 13:42
Et bien parceque ce n'est pas sur la meme page mais en dernier recours je pense que je vais faire comme cela.

Je n'y avais pas penser merci
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
6 juil. 2010 à 18:32
Bonjour à vous,
mais si le client change son choix, un coup tu del un coup tu add, le problème c'est que l'onglet ne va pas reprendre sa place, il est peut être plus intéressant de le masquer.

;O)
0
jparia Messages postés 25 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 30 août 2010
6 juil. 2010 à 19:23
Idéalement, si l'on veut que les onglets soient dans un ordre précis à chaque changement dynamique, il faut que la fonction supprime tous les onglets et les recrée dans le bonne ordre.
Exemple:

/* détruit et créé un tabuleur vierge dans le conteneur à l'id "cadre" */
oTab.show("cadre");

/* ajoute les onglets de tabulation dans l'ordre désiré */ 
oTab.add ("Chaudronnerie", "chaudronnerie.php"); 
oTab.add ("Tuyauterie", "tuyauterie.php"); 
...

/* sélectionne le premier onglet et affiche la page correspondante */
oTab.select("Chaudronnerie");
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
6 juil. 2010 à 20:30
Salut JPAria,
je voyais plutôt un truc dans ce goût la
//--------------------
function Swap( label_){
  var Label = oText.trim( label_);
  for (var i = 0; i < oTab.tabs.length; i++) {
    if (oTab.tabs[i][1] == Label) {
      var O_Tab = oTab.tabs[i][0];
      if( O_Tab.style.display == "none")
        O_Tab.style.display = "block";
      else
        O_Tab.style.display = "none";
      break;
    }
  }
}

voir pourquoi pas peut être même une fonction de disabled.

;O)
0
jparia Messages postés 25 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 30 août 2010
6 juil. 2010 à 21:27
Pourquoi pas, on peut tout envisager.

Mais en utilisant la fonction Jaria:

oEl.visible(O_Tab, false); 


plutôt que:

O_Tab.style.display = "none";


je sais, je me fais plaisir :))
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
6 juil. 2010 à 21:39
aller je te fais encore plus plaisir
//------------------------------------
Tab.prototype.Swap = function( label_){
  var Label = oText.trim( label_);
  for( var i = 0; i < this.tabs.length; i++) {
    if( this.tabs[i][1] == Label) {
      var O_Tab = this.tabs[i][0];
      if( oEl.isvisible( O_Tab))
        oEl.visible( O_Tab, false);
      else
        oEl.visible( O_Tab, true);
      break;
    }
  }
}

que du Jaria inside...

;O)
0
etu54 Messages postés 27 Date d'inscription mardi 2 juin 2009 Statut Membre Dernière intervention 26 juillet 2011 1
7 juil. 2010 à 09:20
Merci de toutes ces réponses.

Et cette fonction je l'appelle sur le onload ?
0
jparia Messages postés 25 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 30 août 2010
7 juil. 2010 à 18:36
Re etu54,

si tu as un formulaire avec des cases à cochées qui envoi les données vers la page du tabuleur, il te faut les récupérer par:

les méthodes GET ou POST côté serveur(PHP par exemple)
ou
Uniquement par la méthode GET en javascript grâce à la fonction Jaria oNav.param();

tu récupères ainsi les valeurs du formulaire et traite le tabuleur au chargement de la page dans la fonction Load()
0
Rejoignez-nous