Afficher un style grâce à un lien javascript

SuG
Eléphanteau du PHP | 42 Messages

16 juil. 2005, 00:53

J'ai dans mon formulaire un lien <A OnClick="...">
Quand on clique dessus , j'aimerais que un style d'une feuille style1.css se charge sur la feuille , sans pour autant recharger la feuille avec le formulaire

Comment faire ?

d'avance merci

Mammouth du PHP | 19672 Messages

16 juil. 2005, 09:02

Tu ne peux pas. Il faudrait pour ne pas recharger la page modifier dynamiquement les styles directement en JavaScript pour toutes les parties que couvrent la feuille que tu voudrais charger. Cette méthode ne durerait que le temps de l'affichage, au rechargement, le style normal reprendrait sa place.

Alors le formulaire effectivement pose le problème des informations déjà inscrites qu'il faudrait conserver, mais pour réaliser ça, il faudrait que tu alimentes avec JavaScript des champs cachés avec les valeurs inscrites dans le formulaire avec des évènements onblur() sur les champs du formulaire pointant vers une fonction à développer pour ça. Ton lien pour modifier le style d'affichage peut être un bouton de formulaire (distinct de l'autre bien sur), bouton que tu peux parfaitement déguiser en lien ordinaire avec un style CSS, mais surtout qui permettrait d'envoyer les informations déjà saisies pour les remettre à leur place lors du rechargement.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 138 Messages

16 juil. 2005, 11:22

tu peux avoir aussi une solution qui me semble un peu lourde mais qui serait possible:

créer 2 calques avec ton formulaire dans chacun des 2 mais avec un style css différents.

Code : Tout sélectionner

<div id="calque1" style="z-index:1;"> //ton formulaire </div> <div id="calque2" style="z-index:0;"> //ton formulaire </div>
lorsque tu cliques sur ton bouton le calque du dessous passe au dessus de celui qui est affiché (il faudra créer un fct qui change le z-index de 0 à 1 au click de souris).

Mais comme la fait remarquer Cyrano, le problème c'est les infos. Il suffit que lorsque une données est inscrite dans un "champnom_calque1" elle soit auss inscrite dans le "chamnom_calque2" et là sur chaque champ tu mets un attribut du style:
exemple pour un champ nom sur calque1

Code : Tout sélectionner

onchange= "document.getElementsById("champnom_calque2").value=this.value"
Du coup pas besoin de recharger ta page, mais ça implique d'avoir un formulaire en double avec des images en double et donc plus temps pour charger la page.
Il y a des gens qui ont une bibliothèque comme des eunuques ont un harem (V. Hugo)

Mammouth du PHP | 19672 Messages

16 juil. 2005, 11:29

lol, bonjour l'usine à gaz :langue:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 138 Messages

16 juil. 2005, 11:51

:cry:
Bof pas tant que ça mais je n'ai jamais dit que c'était une solution trés pratique.

Mais c'est le constat auquel j'arrive assez souvent avec le javascript.
On peut faire de super choses :lol: mais ça devient rapidement un vrai labyrinthe de lignes de code.
et parfois on arrive à des envies de ...:tir2:
Il y a des gens qui ont une bibliothèque comme des eunuques ont un harem (V. Hugo)

SuG
Eléphanteau du PHP | 42 Messages

16 juil. 2005, 12:25

lol

merci mais en fait j'ai trouvé une solution plus simple

En fait ce que je voulais faire ct proposer differents styles a des utilisateurs pour leurs pages persos, et les visualiser en cliquant sur les liens qui sont sur le formulaire

mais j'ai finalement fait en sorte q'en cliqant sur les liens , ca ouvre une petite fenetre avec du texte avec le style voulu
et ca c pas compliqué

voila merci qd mM d'avoir pri le temps de considerer ma quete