1

我正在尝试使用 HTML 制作一个 BMI 计算器。输入来自文本字段。我在 Javascript 函数中对它们进行了一些计算。我想在这样的范围内获取计算值:

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

==================================================== ================== 编辑:我要问的部分

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

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

我不知道怎么做...

4

6 回答 6

10

编辑:正如它所指出的,FF 不喜欢innerText,所以我替换innerHTML它在这种特殊情况下不会改变脚本的整体功能。

您可以获得第二个span并将值直接传递给innerHTML这样的:

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

注意:考虑使用 andidclass这样您可以找到需要更改的确切元素,而不是检索该类型的多个元素(在本例中span)。如果你有一个id,它会是这样的:

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

Edit2:这个编辑是在 OP 改变他的问题之后进行的。现在我看到你的代码真的很困惑。我写了这个小提琴,所以你可以看到它工作

于 2012-06-29T18:25:29.557 回答
2

如果你有一个变量calcResult,你可以这样做:

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

当然,这只适用于一次。如果您再次执行此操作,您将在跨度中获得两个结果。如果您希望能够在表单字段更改时更改结果,我会尝试:

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

var result = 12;
document.getElementById('calc').getElementsByTagName('span')[0].innerHTML = result;
于 2012-06-29T18:29:11.053 回答
1

你试过jQuery吗?

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

OR

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

要编写更好的代码,请在您的组件中添加一个 ID。

于 2012-06-29T18:23:52.580 回答
0

您可以使用 document.writeln 来获取结果。查看http://jsfiddle.net/CmVww/上的小提琴来玩它。以下是结果。

<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>
于 2012-06-29T18:26:55.210 回答
0
var bmi = weight / (heightInMeter * heightInMeter);
document.getElementById('ID_bmiResult2').innerHTML= bmi;
于 2013-09-03T04:56:11.613 回答
0

在javascript中计算bmi

<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>

//结束函数

// 如果你从文本框中取值,你应该使用这个高度(以米为单位):

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

重量(公斤):

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

//如果你想在跨度中显示使用这个BMI:

<span id="BMIScore"></span></span><br />
于 2016-07-22T05:46:40.203 回答