Page 1 sur 1

Afficher un style grâce à un lien javascript

Posté : 16 juil. 2005, 00:53
par SuG
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

Posté : 16 juil. 2005, 09:02
par Cyrano
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.

Posté : 16 juil. 2005, 11:22
par Axel
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.

Posté : 16 juil. 2005, 11:29
par Cyrano
lol, bonjour l'usine à gaz :langue:

Posté : 16 juil. 2005, 11:51
par Axel
: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:

Posté : 16 juil. 2005, 12:25
par SuG
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