Mémoire d'onglet

Signaler
Messages postés
120
Date d'inscription
vendredi 7 février 2003
Statut
Membre
Dernière intervention
2 novembre 2009
-
Messages postés
120
Date d'inscription
vendredi 7 février 2003
Statut
Membre
Dernière intervention
2 novembre 2009
-
Bonjour

Sur une page, j'ai 2 onglets.
Pour chacun, j'ai des boutons radios et un bouton de validation.
Lorsque je valide je retourne sur cette même page et mon choix se met à jour.

Mon problème est que j'aimerai que le dernier onglet sélectionné avant de valider soit celui mis en avant une fois la page rechargée.

Voici un lien vers la page de test : [url]http://www.duvrac.com/test_onglets/test_onglets.php/url

J'ai pensé à mettre un bouton radio dans chaque onglet, ça pourrait le faire si il se cochait en cliquant sur l'onglet lui même.
Mais l'idéal serait qu'il n'y ait pas de bouton radio dans les onglets (ou alors qu'il deviennent invisibles)

Bon là c'est un spry généré par Dreamweaver mais si vous avez une solution autre, vous pouvez la soumettre histoire d'avancer le schmilblik ;-)

10 réponses

Messages postés
626
Date d'inscription
samedi 28 septembre 2002
Statut
Membre
Dernière intervention
18 mai 2009
3
Enregistre un cookie au moment de la validation avec l'onglet actuel. Réutilise-le au chargement de la page. C'est aussi "simple" que ca.

<hr size="2" width="100%" />Projet en cours : Joof
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
31
Salut,

Un petit champ input type=hidden remplit en javascript avant le submit peut faire aussi l'affaire.
Si tu ne veux pas de cookies.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
bonjour,
ou alors.. style="display:none" sur le radio
ou alors.. php sait ( ou peut le savoir ! ) quel est l'onglet ouvert,
             quand il réaffiche la page, qu'il ouvre celui qui l'était.
ou alors...
CordialementBul[mon Site][M'écrire]
Messages postés
120
Date d'inscription
vendredi 7 février 2003
Statut
Membre
Dernière intervention
2 novembre 2009

j'ai mis le cookie en ça marche avec le bouton radio.

Mais l'idée d'un champs hidden rempli en javascript serait bien mieux en effet.
Seulement je sais pas comment faire... pas doué en javascript faut dire le gars aussi ;-)

Comment est ce qu'on fait ça ?
Messages postés
120
Date d'inscription
vendredi 7 février 2003
Statut
Membre
Dernière intervention
2 novembre 2009

je pense qu'il faut changer cette ligne :


--->var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1", 1);<---


et remplacer le 1 par la valeur de l'onglet sélectionné. Mais j'y arrive pas...


déjà c'est quoi la valeur ?

defaultTab

this.defaultTab

ou un autre truc ?



le fichier est js est là : http://www.duvrac.com/test_onglets2/SpryAssets/SpryTabbedPanels.js
Messages postés
100
Date d'inscription
vendredi 30 janvier 2004
Statut
Membre
Dernière intervention
22 janvier 2010

Bonjour,
As-tu eu une réponse, je suis confronté au même problème et je ne trouve pas de solution, ni en JS ni en PHP

Ouais, je serais un Pro du VB6 et du PHP dans 10/15 ans
;)
Messages postés
1
Date d'inscription
jeudi 29 décembre 2005
Statut
Membre
Dernière intervention
28 avril 2009

Pourrais-tu m'expliciter ce que PHP peut faire pour qu'après valid du formulaire il réaffiche le même onglet, car çà fait plusieurs jours que je galère sur le sujet !
Messages postés
120
Date d'inscription
vendredi 7 février 2003
Statut
Membre
Dernière intervention
2 novembre 2009

désolé j'ai pas mal de taf et pas trop le temps de répondre.



rapidement :

il faut déjà mettre ce script sur les onglets (en l'adaptant pour chaque bien sûr) :

onmousedown="document.getElementById('onglet_1').checked = (document.getElementById('onglet_1').checked ? false : true);document.getElementById('onglet_1').checked = (document.getElementById('onglet_1').checked ? true : true);">



placer sur la page autant de boutons radios que d'onglet :
<?php if (!(strcmp($_COOKIE["onglet"],"1"))) {echo "checked="checked"";} ???> type="radio" name="onglet" value="1" id="onglet_1" style="visibility: hidden;" />



Ensuite je sais plus de trop, car j'ai réussi à le fire fonctionner mais depuis j'ai remodifié et je suis passé à une autre page. Je commence à dévelloper en flash et je pense que je vais en faire de même pour ma fameuse page (donc ne plus utiliser les spry)


mais c'est possible :-) si vous retrouvé le code n'hésitez pas à le remettre sur ce post pour qu'il nous serve de pense bête ;-)
Messages postés
120
Date d'inscription
vendredi 7 février 2003
Statut
Membre
Dernière intervention
2 novembre 2009

loufagreen, dans mon cas, le spry est placé dans un formulaire qui enregistre les vaeurs des boutons radio cachés et recharge la page. De ce fait il suffit de modifier cette ligne de code pour l'adapter à l'ouverture de l'onglet sélectionné en dernier :

var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1", {defaultTab:2});


il faut un code du genre :

var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1", {defaultTab:<?php echo $row_RSradio["onglet"]-1; ???>});
Messages postés
120
Date d'inscription
vendredi 7 février 2003
Statut
Membre
Dernière intervention
2 novembre 2009

mince je me rend compte que les codes sont mal passés...


donc j'espère que ceux là vont passés ... :

< input < ? php if (!(strcmp($_COOKIE["onglet"],"1"))) {echo "checked="checked"";} ? > type="radio" name="onglet" value="1" id="onglet_1" style="visibility: hidden;" />

puis :

var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1", {defaultTab:< ? php echo $_RSradio["onglet"]-1; ? >});