语法困惑,使用输入按钮调用JS函数

时间:2011-10-02 19:04:40

标签: javascript-events xhtml

我在理解使用输入按钮调用函数的xhtml语法时遇到了麻烦。我搜索过这个,但找不到清楚的解释。

这段代码来自我的书,它运行正常,但我不确定以下行是如何工作的...... onclick =“checkGrade(document.gradeForm.grade.value);”

根据我的判断,gradeForm是形式,然后grade是switch语句?如果你在checkGrades函数中有另一个名为foo的switch语句,你会使用Foo吗?我不确定onClick checkGrade函数中的文档或值是什么。

非常感谢任何帮助!

<script type="text/javascript">

function checkGrade(grade) {
    switch (grade.toUpperCase()) {
    case "A":
    window.alert("Your grade is excellent.")
    break;
case "B":
    window.alert("Your grade is good.")
    break;
case "C":
    window.alert("Your grade is fair.")
    break;
case "D":
    window.alert("You are barely passing.")
    break;
case "F":
    window.alert("You failed.")
    break;
default: 
    window.alert("You did not enter a valid letter grade.");
    break;
    }
}
</script>


<p>Please enter your grade below:</p>
<form action="#" name="gradeForm">
    <input type="text" name="grade" />
    <input type="button" value="Check Grade" onclick="checkGrade(document.gradeForm.grade.value);" />
</form>

1 个答案:

答案 0 :(得分:2)

不,grade指的是文本框。您将文本框的值传递给checkGrade函数。 switch语句正在grade变量上运行,该变量包含grade文本框的值。

你无法真正“命名”一个switch语句。 switch的参数代表您正在测试的值。

document代表您的HTML文档,value是名为grade的文本框的值。另外,建议不要在XHTML / HTML中使用onClick属性。不引人注意的Javascript是首选,您可以将处理程序绑定到按钮。有关详细信息,建议您阅读Document Object Model,特别是The DOM and Javascript

你正在使用这本书多久了?