Javascript 函数不断返回NaN,学费计算器

Javascript 函数不断返回NaN,学费计算器,javascript,function,nan,Javascript,Function,Nan,我似乎无法正确使用我的函数……这是一个学费计算器。在这一点上,实习期和学期并不重要。这只是信用卡*信用卡成本,但它一直在返回 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

我似乎无法正确使用我的函数……这是一个学费计算器。在这一点上,实习期和学期并不重要。这只是信用卡*信用卡成本,但它一直在返回

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
        <title>Greendale Community College</title>
    <script type="text/javascript">
        /* <![CDATA[ */
        /* ]]> */
        var numCredits = 0;
        var creditCost = 302;
        var instate = 0;
        var outstate = 0;
        var international = 0;
        var tuitionCost = number;
        function calcTuition(numCredits, creditCost) {
            var tuitionCost = numCredits * creditCost;
            document.write("Your tuition cost is $" + tuitionCost);
        }
    </script>
    </head>
    <body>
        <p><center><font face="impact" font size="200" color="green">Greendale  Community College</font></center></p>
        <center><img src="greendale.jpg" alt="greendale" width="512" height="256"/></center>
        <h1><center>Tuition Calculator</center></h1>
        <form name="calculator" action="" method="get">
        <h2>Semester</h2>
        <h3>(choose a semester)</h3>
            <input type="radio" name="semesterFall"/> Fall 2018 <br />
            <input type="radio" name="semesterSpring"/> Spring 2018 <br />
            <input type="radio" name="semesterSummer"/> Summer 2018 <br />
        <h2>Residency</h2>
        <h3>(choose your residency)</h3>
            <input type="radio" name="instate" /> In-State <br />
            <input type="radio" name="outstate" /> Out-of-State <br />
            <input type="radio" name="international" /> International <br />
        <h2>Credits</h2>
        <h3>(enter your number of credits)</h3>
            <input type="text" name="numCredits" size="2" onchange="calcTuition(numCredits, creditCost)"/> Credits <br />
            <input type="button" name="tuition"  onclick="window.alert(calcTuition(numCredits, creditCost))" value="Calculate your Tuition" />
            </form>
    </body>
</html>

格林代尔社区学院
/*  */
var numCredits=0;
var creditCost=302;
var instate=0;
var-outstate=0;
var国际=0;
var费用=数量;
功能配置(numCredits、creditCost){
var TutionCost=numCredits*信用成本;
写下(“你的学费是$”+学费);
}
格林代尔社区学院

学费计算器 学期 (选择一个学期) 2018年秋季
2018年春季
2018年夏季
住院医师 (选择您的居住地) 处于状态
不在状态
国际
信用 (输入您的学分数) 学分

我看了一下发生了什么,它看起来像是你在试图呼叫
numCredits
而它不是一个有效的号码。它的确切类型是
$[object HTMLInputElement]
。HTMLInputElement和Integer之间的加法是未定义的行为,因此获得的值为NaN

一种可能的解决方案是使用
document.getElementbyId
方法返回实际元素,然后可以对它们执行任何操作

PS:你应该试着调试你自己的函数,你提到过你是新手,但是最好设置一些打印语句或者使用交互式调试器来查看问题发生的确切位置。这样,您可以对其进行故障排除,同时了解问题。


<script type="text/javascript">
     var c_amount = 302;
    function calcu_Tuition(Credits, c_amount) {
    //var Credits 
    var Credits = document.getElementById("Credits").value //it will get the value of Credits text box and be transfer to Credits variable.

    var tuition = 0;
        var tuition = Credits * c_amount;
        document.write("Your tuition cost is $" + tuition);
    }

</script>

<body>
    <h2>Credits</h2>
    <h3>(enter your number of credits)</h3> 
        <input type="text" id="Credits" size="2" onchange="calcu_Tuition(Credits, c_amount)"/> Credits <br>
        <button id="tuition"  onclick="calcu_Tuition(c_amount)">Calculate your Tuition"</button>
        </form> 
</body>
var c_金额=302; 函数计算学费(学分、课程金额){ //风险值信用 var Credits=document.getElementById(“Credits”).value//它将获取Credits文本框的值,并传输到Credits变量。 var=0; var学费=学分*c_金额; 写下(“你的学费是$”+学费); } 信用 (输入您的学分数) 学分
计算你的学费”
至少有一个操作数不是数字。输入学分时,您正在尝试进行计算,但学费尚未输入。您需要这两个值才能执行函数,因此在拥有这两个值之前不要调用
计算
。我对这一点很陌生,您的意思是什么?不要从哪里调用?我是我们在Microsoft Visual Studio中,如何调试?这可能是一个不同的问题,但在提问之前先进行研究。不要只是发布代码,解释更改的内容和原因。我不清楚您想说什么。