我正在尝试制作一个基于遗传学的身高计算器.但是javascript没有;t返回预期答案

I am trying to make a height calculator based on genetics. But javascript doesn't return the expected answer

本文关键字:但是 javascript 计算器 没有 答案 返回 遗传学 一个      更新时间:2023-09-26

我是javascript的新手。不过,自从我学了Java之后,我就一直在想办法。希望你们帮我解决

这是我的表格:

<form>
    Male <input type="radio" id="male" name="selects"/>
    Female <input type="radio" id="female" name="selects"/><br/>
    Mom's height <input type="text" id="moms"/>
    Dad's height <input type="text" id="dads"/>
    <input type="button" value="Go!" onclick="calculate(document.getElementById('dads').value, document.getElementById('moms').value);"/>
</form>

这是我的Javascript:

<script type="text/javascript">
    function calculate (d, m) 
    {
        if (document.getElementById('male').checked) 
        {
            var result = (d+m+13)/2;
            document.write(result);
        } 
        else if (document.getElementById('female').checked) 
        {
            var result = (d+m-13)/2;
            document.write(result);
        } 
        else
        {
            alert("Choose a gender!");
        }
    }
</script>

您的输入值是字符串,在进行数字运算之前,需要将它们解析为整数(使用parseInt())。

工作演示

尝试以下代码:

function calculate (d, m) 
{
    if (document.getElementById('male').checked) 
    {
        var result = (parseInt(d,10)+parseInt(m,10)+13)/2;
        document.write(result);
    } 
    else if (document.getElementById('female').checked) 
    {
        var result = (parseInt(d,10)+parseInt(m,10)-13)/2;
        document.write(result);
    } 
    else
    {
        alert("Choose a gender!");
    }
}

注意:正如其他人已经指出的,使用document.write不是一个好的做法,因为它们会重新绘制整个屏幕。相反,您可以有一个输出div,并将结果分配给它的innerHTML,如下所示。

document.getElementById('output_div').innerHTML = result;

相关文章: