Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

97
Vistas
Grabbing color from form element doesn't seem to work for CSS Variable

So I was trying to get user input and put it as CSS Variable for the whole site but it only provides me with the default value (of the Color picker). I've looked up many forums for JS and HTML-related mistakes but no luck. It would also be of great luck if I won't have to convert these into a form because of the layout of my already set HTML.

var changeclrbtn = document.getElementById('main-colorbtn');
var maincolore = document.getElementById('main-colorbox').value

changeclrbtn.onclick = function() {maincolorset()};
function maincolorset() {
  document.documentElement.style.setProperty('--main-color', maincolore );
}
:root {
    --main-color: #499ae8;
}
<div>Color Theme</div>
<div>
  <input type="color" id="main-colorbox" name="maincolorbox" value="#499ae8">
  <input type="button" value="Change Color" id="main-colorbtn" onclick="maincolorset()">
</div>

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

You only need to move this line:

var maincolore = document.getElementById('main-colorbox').value

inside your function.

Now you only set the maincolore variable on the first pageload, not when you click the button.

var changeclrbtn = document.getElementById('main-colorbtn');

changeclrbtn.onclick = function() {maincolorset()};
function maincolorset() {
  var maincolore = document.getElementById('main-colorbox').value;
  document.documentElement.style.setProperty('--main-color', maincolore );
}
:root {
    --main-color: #499ae8;
}
body {
    background: var(--main-color);
}
<div>Color Theme</div>
<div>
  <input type="color" id="main-colorbox" name="maincolorbox" value="#499ae8">
  <input type="button" value="Change Color" id="main-colorbtn" onclick="maincolorset()">
</div>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda