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

163
Vistas
How can I add an value to an input type

How can I add an value to an input type.

I'm currently working on a converter for meter to kilometer, to mile, ...

I've created different input types in my HTML Code and took the value of them in JS, which worked completely fine, and I prevented the page from reloading after I click submit. Now I want to reassign the new, calculated value (kilometer.value = meter / 1000), but this doesn't work.

It works completely fine, when I'm putting an console.log after the variable meter and the first variable kilometer. It logs the correct number - the reassignment just doesn't work.

JavaScript:

const calculateMeter = () => {
    let meter = document.getElementById("meter").value;

    let kilometer = document.getElementById("kilometer").value;
    kilometer.value = meter / 1000;
}

HTML:

<form id="calculator" onsubmit="calculateMeter(); return false">
    <label for="kilometer">Kilometer:</label>
    <input type="number" id="kilometer"><br>

    <label for="meter">Meter:</label>
    <input type="number" id="meter"><br>
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Did you mean something like, that?

let meterInp = document.getElementById("meter");
let kilometerInp = document.getElementById("kilometer");

meterInp.addEventListener("change", ()=>{
  kilometerInp.value = (+meterInp.value)/1000;
});
kilometerInp.addEventListener("change", ()=>{
  meterInp.value = (+kilometerInp.value)*1000;
});
<form id="calculator" onsubmit="calculateMeter(); return false">
    <label for="kilometer">Kilometer:</label>
    <input type="number" id="kilometer" step="0.00001"><br>

    <label for="meter">Meter:</label>
    <input type="number" step="0.01" id="meter"><br>
</form>

The (+) converts string to number. for e.g. (+meterInp.value)/1000

about 4 years ago · Juan Pablo Isaza Denunciar

0

value of <input> is always a string, but in case of numerical input types, like type="number", or type="range", you can get the number directly using valueAsNumber:

const calculateMeter = () => {
  let kilometer = document.getElementById("kilometer").valueAsNumber;
  document.getElementById("meter").value = kilometer * 1000;
}

const calculateKilometer = () => {
  let meter = document.getElementById("meter").valueAsNumber;
  document.getElementById("kilometer").value = meter / 1000;
}
  <label for="kilometer">Kilometer:</label>
  <input type="number" id="kilometer" oninput="calculateMeter()"><br>

  <label for="meter">Meter:</label>
  <input type="number" id="meter" oninput="calculateKilometer()"><br>

about 4 years ago · Juan Pablo Isaza Denunciar

0

You should convert meter to intiger

const calculateMeter = () => {
    let meter = document.getElementById("meter").value;

    let kilometer = document.getElementById("kilometer").value;
    kilometer.value = Number(meter) / 1000;
}
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