Open In App

How to create a weight converter with HTML and JavaScript ?

Last Updated : 24 Jan, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Introduction: What we generally call “weight” in our daily lives is theoretically referred to as mass, and it calculates the amount of matter in an object. But we can use mass and weight almost interchangeably by simply multiplying or dividing it by the Earth’s gravitational acceleration, g and this is because of gravitational force the Earth exerts on us is approximately constant. To prevent misunderstanding or unnecessary confusion, we’re talking about mass units, but we’re referring to them as weight units.

The weight converter helps you convert between kilograms, grams, pounds, ounces, and stones. All of which are measurements of weight and mass. This is very useful for beginners to train their logic in javascript.

Approach to create a Weight Converter:

HTML: First, you have to create an input field to convert a value from one weight measurement to another.

HTML




<p>
    <!-- label to input field-->
    <label>Kilograms</label>
    <!-- input field to enter the data-->
    <!-- kiloweightConvert function call function 
       kiloweightConvert to evaluate value-->
    <input id="Kilograms" type="number" 
           placeholder="Kilograms" 
           oninput="kiloweightConvert(this.value)" 
           onchange="kiloweightConvert(this.value)">
</p>


The <input> tag is used as an input field where the users can enter their data and the placeholder is attributed that specifies a short hint that describes the expected value of an <input> element to be entered by the user.

The oninput is an event that occurs when an element gets user input i.e. when the value of an <input> or <textarea> element is changed. In the above code, this attribute contains the value “kiloweightConvert(this.value)” and it works when oninput event is triggered.

The onchange event occurs when the value of an element has been changed.

These both events are similar but the difference is that the oninput event gets activated after the value of an element has changed, while onchange event occurs when the element loses its focus after the content has been changed. The onchange event also works on <select> elements.

Second, create an output field for the result of the conversion.

HTML




<!--output field-->
<p>Pounds: <span id="Pounds"></span></p>
<p>Ounces: <span id="Ounces"></span></p>
<p>Grams: <span id="Grams"></span></p>
<p>Stones: <span id="Stones"></span></p>


<span> tag is a generic inline container for inline elements and content which is used to mark up a part of a text, for grouping and applying styles to inline elements.

JavaScript: Now, it’s time to build functionality using javascript. The following function will evaluate the value and return the result.

Javascript




<script>
    //function that evaluate the value and returns result
    function kiloweightConvert(value) {
      document.getElementById("Pounds").innerHTML=value*2.2046;
      document.getElementById("Ounces").innerHTML=value*35.274;
      document.getElementById("Grams").innerHTML=value*1000;
      document.getElementById("Stones").innerHTML=value*0.1574;
    }
</script>


If you use innerHTML, you can modify the content of the page without refreshing it. This will make the website more responsive and quicker to user inputs. The innerHTML property can also be used along with getElementById() in  JavaScript code to refer to an HTML element and modify its contents. The method getElementById() returns an element object that represents an element whose id property matches the specified string.

You can also try the following measurements to make a weight converter. 

To get your head around the conversions between different units, feel free to use the weight conversion chart given below. This conversion table will be very useful in designing the weight converter according to your preferences.

Pounds to other Measurements Ounces to other Measurements
Pounds to Kilograms kilograms=lb/2.2046 Ounces to Pounds pounds=oz*0.0625
Pounds to Ounces ounces=lb*16 Ounces to Kilograms kilograms=oz/35.274
Pounds to Grams grams=lb/0.0022046 Ounces to Grams grams=oz/0.035274
Pounds to Stones stones=lb*0.071429 Ounces to Stones stones=oz*0.0044643
Grams to other Measurements          Stones to other Measurements
Grams to Pounds pounds=g*0.0022046 Stones to Pounds ponds=st*14
Grams to Kilograms kilograms=g/1000 Stones to Kilograms kilograms=st/0.15747
Grams to Ounces ounces=g*0.035274 Stones to Ounces ounces=st*224
Grams to Stones stones=g*0.00015747 Stones to Grams grams=st/0.00015747

Example: Given below shows how  to convert a value from Kilogram to other measurements: 

HTML




<style>
    span {
        color: Green;
    }
</style>
  
<!-- Title of your Converter -->
<h2 style="color: Green;">Weight Converter</h2>
  
<p>Enter a value in the Kilograms field to convert :</p>
  
  
  
<p>
    <!-- label the input field -->
    <label>Kilograms</label>
    <!-- input tag for enter the data -->
    <!-- kiloweightConvert function call
         function kiloweightConvert to evaluate value-->
    <input id="Kilograms" type="number" placeholder="kilograms" 
           oninput="kiloweightConvert(this.value)" 
           onchange="kiloweightConvert(this.value)" />
</p>
  
<!-- output field-->
<p>Pounds: <span id="Pounds"></span></p>
<p>Ounces: <span id="Ounces"></span></p>
<p>Grams: <span id="Grams"></span></p>
<p>Stones: <span id="Stones"></span></p>
  
<script>
    //function that evaluates the weight and return result
           function kiloweightConvert(value) {
               document.getElementById("Pounds").innerHTML =
                 value * 2.2046;
               document.getElementById("Ounces").innerHTML =
                 value * 35.274;
               document.getElementById("Grams").innerHTML =
                 value * 1000;
               document.getElementById("Stones").innerHTML =
                 value * 0.1574;
           }
</script>


Output: 

weight converter with HTML and JavaScript

Weight converter with HTML and JavaScript



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads