Mahmoud
Mahmoud

Reputation: 197

How To get values in Span Tag from JS

I am trying to make a BMI Calculator using HTML. The inputs come from text fields. I am making some calculation with them in a Javascript function. I want to get the calculated values in a span like this:

<span id="" class="">Your Calculation Results is = </span>
<span id="" class="">   "" I want the result here ""    </span>

==================================================================== Edit : The part that i am asking about

<script language="javascript">
var bmi = document.getElementById("ID_bmiResult2").innerHTML;
bmi.value = weight / (heightInMeter * heightInMeter);
</script>

<body>
<span id="ID_bmiResult2">  </span>
</body>

i don't know how to make it ...

Upvotes: 1

Views: 75601

Answers (6)

Ajay Yadav
Ajay Yadav

Reputation: 1

For calculate the bmi in javascript

<script language="javascript">

    var Height = 0;
    var Weight = 0;
    var BMI = 0;
    function getTotalBMIScore() {

        Height = document.getElementById('MainContent_txtPDHeight').value;
        //alert(Height + 'Height');
        Weight = document.getElementById('MainContent_txtPDWeight').value;
        //alert(Weight + 'Weight')
        BMI = Weight / (Height * Height);

        BMI = BMI.toFixed(2);

        //alert(BMI + 'BMI');
        document.getElementById('BMIScore').innerText = BMI;


    }

</script>

// end function

// if you are taking from textbox you should use this Height(In meter):

<asp:TextBox ID="txtPDHeight" onchange ="getTotalBMIScore()"   onKeyUp ="getTotalBMIScore()" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;"  runat="server"></asp:TextBox>
<span>

Weight(In kg):

<asp:TextBox ID="txtPDWeight" onchange = "getTotalBMIScore()"  onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;"  onKeyUp ="getTotalBMIScore()" runat="server"></asp:TextBox>

//if you want to display in span use this BMI:

<span id="BMIScore"></span></span><br />

Upvotes: 0

Sashank Mishra
Sashank Mishra

Reputation: 37

var bmi = weight / (heightInMeter * heightInMeter);
document.getElementById('ID_bmiResult2').innerHTML= bmi;

Upvotes: 0

Nicholas Decker
Nicholas Decker

Reputation: 462

You can use document.writeln to get your result. check out the fiddle on http://jsfiddle.net/CmVww/ to play with it. Below are the results.

<div id="start">
<span id="one" class="sText">Your Calculation Results is = </span>
<span id="two" class="result">  
<script type="text/javascript">
var tst = 'I want the result here';
  document.writeln(tst);
</script>
</span>

Upvotes: 0

MilkyWayJoe
MilkyWayJoe

Reputation: 9092

Edit: As it was pointed out, FF doesn't like innerText, so I'm replacing to innerHTML which in this particular case doesn't not change the overall functionality of the script.

You can get the 2nd span and pass the value directly to innerHTML like this:

document.getElementsByTagName('span')[1].innerHTML= 'the result';

Note: Consider using and id or class so you can find the exact element you need to change instead of retrieving several elements of that type (in this case span). If you had an id, it would be like this:

document.getElementById('the id goes here').innerHTML= 'the result';

Edit2: This edit was made after the OP changed his question It got really confusing now that I'm seeing your code. I've written this fiddle so you can see it working

Upvotes: 10

jackwanders
jackwanders

Reputation: 16010

If you have a variable like calcResult, you can do:

document.getElementById('spanId').innerHTML += calcResult;

Of course, that only works once. If you do it again, you'll have two results in the span. If you want to be able to change the result if the form fields change, I'd try:

<span id="calc">Your calculation result = <span></span></span>

var result = 12;
document.getElementById('calc').getElementsByTagName('span')[0].innerHTML = result;

Upvotes: 2

Lucas_Santos
Lucas_Santos

Reputation: 4740

Have you tried Jquery ?

$("span").next().text("Your Result");

OR

$("span").eq(1).text("Your Result");

To do a better code, put a ID in your component.

Upvotes: 1

Related Questions