Javascript 未捕获类型错误:无法调用方法';Runme';未定义的

Javascript 未捕获类型错误:无法调用方法';Runme';未定义的,javascript,Javascript,我已经对此进行了一段时间的bug检查,但我仍然无法找出问题所在。它应该记下我的成绩,并把我的零用钱吐出来。它以前是工作的,但是JSFIDLE把它搞砸了,现在它还有其他问题。谁能告诉我出了什么事? 代码: 警报(“已加载”); 函数Runme(){ 警报(“运行”); document.forms[“form”].Runme(); var Mathematics=document.personal.Mathematics; var OMathematics=document.personal.O

我已经对此进行了一段时间的bug检查,但我仍然无法找出问题所在。它应该记下我的成绩,并把我的零用钱吐出来。它以前是工作的,但是JSFIDLE把它搞砸了,现在它还有其他问题。谁能告诉我出了什么事? 代码:


警报(“已加载”);
函数Runme(){
警报(“运行”);
document.forms[“form”].Runme();
var Mathematics=document.personal.Mathematics;
var OMathematics=document.personal.OMathematics;
var Sci=document.personal.Sci;
var OSci=document.personal.OSci;
var ELA=document.personal.ELA;
var OELA=document.personal.OELA;
var SS=document.personal.SS;
var OSS=document.personal.OSS;
var Elec1=document.personal.Elec1;
var OElec1=document.personal.OElec1;
var Elec2=document.personal.Elec2;
var OElec2=document.personal.OElec2;
var Elec3=document.personal.Elec3;
var OElec3=document.personal.OElec3;
var Elem1=document.personal.Elec1;
var OElem1=document.personal.OElec1;
var Elem2=document.personal.Elec2;
var OElem2=document.personal.OElec2;
var Elem3=document.personal.Elec3;
var OElem3=document.personal.OElec3;
var=0;
var Calc=函数(n,o){
如果(n>=90){
欠下=欠下+1;
如果(n>=95){
欠下=欠下+1;
}
}
否则,如果(欠款>=80){
欠下=欠下+0.5;
}
如果(n>o){
欠下=欠下+0.5;
}
if(n95){
欠下=欠下-0.25;
}
}
};
计算(数学、数学);
计算(Sci、OSci);
计算(ELA、OELA);
计算(SS、OSS);
计算(Elec1,Elec1);
计算(Elec2,Elec2);
计算(Elec3,Elec3);
计算(Elem1,Elem1);
计算(Elem2,Elem2);
计算(Elem3,Elem3);
警觉(欠债);
};
等级计算器
数学
古老的数学
科学
旧科学
英语
古英语
社会科学课程
旧社会研究
选修课
旧选修课
选修二
旧选修二
选修三
旧选修三
元素一
老元素一号
元素二
老二
元素三
老三

将失败,因为没有这样的表单,而且它也不会有
Runme
方法

将失败,因为没有这样的事情

尝试摆脱对虚假表单的引用,并替换

document.personal.inputName


首先,您需要一个
元素,它显然已经被注释掉了

其他注意事项:
确保您始终使用相同的案例。“欠的”!=“欠下的”。
onClick应该是“onClick”,尽管大多数浏览器都允许它工作

<head>
<script>
    //alert('loaded');
function Runme() {
    //    alert("running");
    //document.forms["personal"].Runme();
    var Mathematics = document.personal.Mathematics;
    var OMathematics = document.personal.OMathematics;
    var Sci = document.personal.Sci;
    var OSci = document.personal.OSci;
    var ELA = document.personal.ELA;
    var OELA = document.personal.OELA;
    var SS = document.personal.SS;
    var OSS = document.personal.OSS;
    var Elec1 = document.personal.Elec1;
    var OElec1 = document.personal.OElec1;
    var Elec2 = document.personal.Elec2;
    var OElec2 = document.personal.OElec2;
    var Elec3 = document.personal.Elec3;
    var OElec3 = document.personal.OElec3;
    var Elem1 = document.personal.Elec1;
    var OElem1 = document.personal.OElec1;
    var Elem2 = document.personal.Elec2;
    var OElem2 = document.personal.OElec2;
    var Elem3 = document.personal.Elec3;
    var OElem3 = document.personal.OElec3;
    var Owed = 0;
    var Calc = function(n, o) {
        if (n >= 90) {
            Owed = Owed + 1;
            if (n >= 95) {
                Owed = Owed + 1;
            }
        }
        else if (Owed >= 80) {
            Owed = Owed + 0.5;
        }
        if (n > o) {
            Owed = Owed + 0.5;
        }
        if (n < o) {
            if (n > 95) {
                Owed = Owed - 0.25;
            }
        }
    };
    Calc(Mathematics, OMathematics);
    Calc(Sci, OSci);
    Calc(ELA, OELA);
    Calc(SS, OSS);
    Calc(Elec1, Elec1);
    Calc(Elec2, Elec2);
    Calc(Elec3, Elec3);
    Calc(Elem1, Elem1);
    Calc(Elem2, Elem2);
    Calc(Elem3, Elem3);
    alert(Owed);
};
</script>
</head>
<body>
<center>
<h1>Grade Calculator</h1>
<form name="personal" action="grades.pl">
<h5>Math</h5><input type=text size=20 name=Mathematics>
<h5>Old Math</h5><input type=text size=20 name=OMathematics>
<h5>Science</h5><input type=text size=20 name=Sci>
<h5>Old Science</h5><input type=text size=20 name=OSci>
<h5>English</h5><input type=text size=20 name=ELA>
<h5>Old English</h5><input type=text size=20 name=OELA>
<h5>Social Studies</h5><input type=text size=20 name=SS>
<h5>Old Social Studies</h5><input type=text size=20 name=OSS>
<h5>Elective One</h5><input type=text size=20 name=Elec1>
<h5>Old Elective One</h5><input type=text size=20 name=OElec1>
<h5>Elective Two</h5><input type=text size=20 name=Elec2>
<h5>Old Elective Two</h5><input type=text size=20 name=OElec2>
<h5>Elective Three</h5><input type=text size=20 name=Elec3>
<h5>Old Elective Three</h5><input type=text size=20 name=OElec3>
<h5>Elem One</h5><input type=text size=20 name=Elec3>
<h5>Old Elem One</h5><input type=text size=20 name=OElec3>
<h5>Elem Two</h5><input type=text size=20 name=Elec3>
<h5>Old Elem Two</h5><input type=text size=20 name=OElec3>
<h5>Elem Three</h5><input type=text size=20 name=Elec3>
<h5>Old Elem Three</h5><input type=text size=20 name=OElec3>
</form>
<br/>
<input type="button" value="Submit and Calculate" onclick="Runme()"/>
</center>

</body>

//警报(“已加载”);
函数Runme(){
//警报(“运行”);
//document.forms[“personal”].Runme();
var Mathematics=document.personal.Mathematics;
var OMathematics=document.personal.OMathematics;
var Sci=document.personal.Sci;
var OSci=document.personal.OSci;
var ELA=document.personal.ELA;
var OELA=document.personal.OELA;
var SS=document.personal.SS;
var OSS=document.personal.OSS;
var Elec1=document.personal.Elec1;
var OElec1=document.personal.OElec1;
var Elec2=document.personal.Elec2;
var OElec2=document.personal.OElec2;
var Elec3=document.personal.Elec3;
var OElec3=document.personal.OElec3;
var Elem1=document.personal.Elec1;
var OElem1=document.personal.OElec1;
var Elem2=document.personal.Elec2;
var OElem2=document.personal.OElec2;
var Elem3=document.personal.Elec3;
var OElem3=document.personal.OElec3;
var=0;
var Calc=函数(n,o){
如果(n>=90){
欠下=欠下+1;
如果(n>=95){
欠下=欠下+1;
}
}
否则,如果(欠款>=80){
欠下=欠下+0.5;
}
如果(n>o){
欠下=欠下+0.5;
}
if(n95){
欠下=欠下-0.25;
}
}
};
计算(数学、数学);
计算(Sci、OSci);
计算(ELA、OELA);
计算(SS、OSS);
计算(Elec1,Elec1);
计算(Elec2,Elec2);
计算(Elec3,Elec3);
计算(Elem1,Elem1);
计算(Elem2,Elem2);
计算(Elem3,Elem3);
警觉(欠债);
};
等级计算器
数学
古老的数学
科学
旧科学
英语
古英语
社会科学课程
旧社会研究
选修课
旧选修课
选修二
旧选修二
选修三
旧选修三
元素一
老元素一号
元素二
老二
元素三
老三


错了吗?告诉我们。语法错误,结果错误。什么?@Valamas当前的一个是:uncaughttypeerror:无法调用undefined@AidanEdwards这是因为您正在传递对DOM元素的引用,而您需要获取它们的值(并比较它们)。@AidenEdwards,您能否更具体地说明您发现我的答案中缺少哪一部分?你问我怎么了,我回答了。
document.personal...
document.personal.inputName
document.getElementsByName("inputName")[0].value
<head>
<script>
    //alert('loaded');
function Runme() {
    //    alert("running");
    //document.forms["personal"].Runme();
    var Mathematics = document.personal.Mathematics;
    var OMathematics = document.personal.OMathematics;
    var Sci = document.personal.Sci;
    var OSci = document.personal.OSci;
    var ELA = document.personal.ELA;
    var OELA = document.personal.OELA;
    var SS = document.personal.SS;
    var OSS = document.personal.OSS;
    var Elec1 = document.personal.Elec1;
    var OElec1 = document.personal.OElec1;
    var Elec2 = document.personal.Elec2;
    var OElec2 = document.personal.OElec2;
    var Elec3 = document.personal.Elec3;
    var OElec3 = document.personal.OElec3;
    var Elem1 = document.personal.Elec1;
    var OElem1 = document.personal.OElec1;
    var Elem2 = document.personal.Elec2;
    var OElem2 = document.personal.OElec2;
    var Elem3 = document.personal.Elec3;
    var OElem3 = document.personal.OElec3;
    var Owed = 0;
    var Calc = function(n, o) {
        if (n >= 90) {
            Owed = Owed + 1;
            if (n >= 95) {
                Owed = Owed + 1;
            }
        }
        else if (Owed >= 80) {
            Owed = Owed + 0.5;
        }
        if (n > o) {
            Owed = Owed + 0.5;
        }
        if (n < o) {
            if (n > 95) {
                Owed = Owed - 0.25;
            }
        }
    };
    Calc(Mathematics, OMathematics);
    Calc(Sci, OSci);
    Calc(ELA, OELA);
    Calc(SS, OSS);
    Calc(Elec1, Elec1);
    Calc(Elec2, Elec2);
    Calc(Elec3, Elec3);
    Calc(Elem1, Elem1);
    Calc(Elem2, Elem2);
    Calc(Elem3, Elem3);
    alert(Owed);
};
</script>
</head>
<body>
<center>
<h1>Grade Calculator</h1>
<form name="personal" action="grades.pl">
<h5>Math</h5><input type=text size=20 name=Mathematics>
<h5>Old Math</h5><input type=text size=20 name=OMathematics>
<h5>Science</h5><input type=text size=20 name=Sci>
<h5>Old Science</h5><input type=text size=20 name=OSci>
<h5>English</h5><input type=text size=20 name=ELA>
<h5>Old English</h5><input type=text size=20 name=OELA>
<h5>Social Studies</h5><input type=text size=20 name=SS>
<h5>Old Social Studies</h5><input type=text size=20 name=OSS>
<h5>Elective One</h5><input type=text size=20 name=Elec1>
<h5>Old Elective One</h5><input type=text size=20 name=OElec1>
<h5>Elective Two</h5><input type=text size=20 name=Elec2>
<h5>Old Elective Two</h5><input type=text size=20 name=OElec2>
<h5>Elective Three</h5><input type=text size=20 name=Elec3>
<h5>Old Elective Three</h5><input type=text size=20 name=OElec3>
<h5>Elem One</h5><input type=text size=20 name=Elec3>
<h5>Old Elem One</h5><input type=text size=20 name=OElec3>
<h5>Elem Two</h5><input type=text size=20 name=Elec3>
<h5>Old Elem Two</h5><input type=text size=20 name=OElec3>
<h5>Elem Three</h5><input type=text size=20 name=Elec3>
<h5>Old Elem Three</h5><input type=text size=20 name=OElec3>
</form>
<br/>
<input type="button" value="Submit and Calculate" onclick="Runme()"/>
</center>

</body>