Changer style suite à select dans liste + click bouton

Résolu/Fermé
Mrsrobot Messages postés 2 Date d'inscription samedi 19 novembre 2016 Statut Membre Dernière intervention 19 novembre 2016 - Modifié par jordane45 le 19/11/2016 à 19:45
Mrsrobot Messages postés 2 Date d'inscription samedi 19 novembre 2016 Statut Membre Dernière intervention 19 novembre 2016 - 19 nov. 2016 à 19:48
Bonjour à tous!

Débutante en informatique, on m'a demandé de réaliser un site où le visiteur a la possibilité de changer de feuilles de styles (préalablement créées: default.css et rouge.css) comme il le souhaite. Pour cela le visiteur doit d'abord selectionner le style voulu dans une liste déroulante, puis l'appliquer grâce au click d'un bouton. (je n'ai pas le choix)

Je n'ai pas de soucis quant au changement de style qui se fait par la fonction function switch_style ( css_title ) .

Mon problème vient du fait que j'ai fait en sorte que la value de mon bouton prend la value de l'élément de la liste sélectionné (function reglestyle()) et appelle tout de suite après la fonction switch_style.

J'arrive à voir le changement de style pendant une demi-seconde puis le style par défaut se remet tout de suite après, car ma liste revient directement à mon premier choix (ici défault) une demi-seconde après le click ..

Quelqu'un aurait la solution ? J'espère avoir été assez claire quant à l'explication de mon problème.

Merci d'avance!


<form>
  <select onchange="listestyle(this)" id="select_id">
     <option value="default">default</option>
     <option value="rouge">rouge</option>       
  </select>
  <input id="btnstyle_id" 
             onclick="reglestyle(this);switch_style(value);" 
             type="submit">
</form>


function reglestyle() { 
 document.getElementById("btnstyle_id").value = document.getElementById("select_id").value;
}



EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
A voir également:

1 réponse

jordane45 Messages postés 38372 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 9 janvier 2025 4 722
19 nov. 2016 à 19:44
Bonjour,

Le problème est que tu passes par un submit
Commence par modifier :
<input id="btnstyle_id" onclick="reglestyle(this);switch_style(value);" type="submit"> 

par
<input id="btnstyle_id" onclick="reglestyle(this);switch_style(value);" type="button"> 


PS: A l'avenir, merci d'utiliser les balises de code (la coloration syntaxique) pour poster ton code sur le forum.
Merci

1
Mrsrobot Messages postés 2 Date d'inscription samedi 19 novembre 2016 Statut Membre Dernière intervention 19 novembre 2016
19 nov. 2016 à 19:48
Je n'arrive pas à croire que je me suis autant pris la tête pour au final devoir modifier qu'une petite ligne (mot à l’occurrence) de code...

Ca marche niquel ! Merci mille fois!

Et je prends note de ton PS, désolé, c'est mon premier message sur ce forum.

Cordialement,

Elodie
0