我很确定我想这个陈述

时间:2011-02-15 03:02:51

标签: javascript

好的,我有点卡在这个上面。我正在看我的书。

我在想我应该使用if或else语句。当我尝试验证它时会出现3个错误。有人能指出我缺少的提示吗?

谢谢。我在javascript中还不是很远。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title></title>
<link rel="stylesheet" href="js_styles.css" type="text/css" />
<script type="text/javascript">
//<![CDATA[
<!--HIDE FROM INCOMPATIBLE BROWERS
function checkGrade(grade) {
switch(grade) {

    case "A":
        document.write("Your grade is excellent.");
        break;
    case "B":
        document.write("Your grade is good.");
        break;
    case "C":
        document.write("Your grade is fair.");
        break;
    case"D":
        document.write("You are barely passing.");
        break;
    case"F":
        document.write("you failed.");
        break;
    defult:
        document.write("You did not enter a valid letter grade.")
        break;

    }
    }
//STOP HIDING INCOMPATIBLE BROWERS-->
//]]>
</script>
</head>
<body
<form name ="gradeForm" "action" ="">
<input type="text" name="grade" />
<input type="button" value="CheckGrade" onclick="checkGrade(document.gradeForm.grade.value);" />
</form>
</body>
</html>

4 个答案:

答案 0 :(得分:3)

你错过了第二个&gt;在你的身体标签上,你在表单的动作属性之前有一个额外的引用。

您可能还想在此语句中加入“.toUpperCase()”,以便用户输入“a”或“A”。

switch(grade.toUpperCase()) {

使用@ Matchu提到的“默认”修复程序,我能够在Internet Explorer,Firefox和Chrome中运行您的代码。

最终版本可以在this pastie中找到。

答案 1 :(得分:1)

考虑删除额外的<!DOCTYPE><HTML><HEAD>标记。我不确定它们是否是你的js错误的来源(你没有告诉我们错误是什么),但他们当然没有帮助。

case"F"case"D"上缺少空格。它们应该是case "F" and case“D”`。这本身并不是错误,但最好保持一致。

您的<body>标记也未公开。这可能是您错误的来源。

编辑:

更多东西:

<form name ="gradeForm" "action" ="">应为<form name="gradeForm" action="">

答案 2 :(得分:1)

尝试将<input type="text" name="grade" />更改为<input type="text" id="grade" />

如果您要提交表单,请使用name =,但如果您需要javascript来识别,则使用id =。可以有几个具有相同名称的输入。

- 戴夫

答案 3 :(得分:0)

看起来不错,除了一些拼写错误。例如,请注意defult而不是default和未关闭的<body开始标记。

当你提到错误时,你究竟是什么意思? Javascript控制台中存在这些错误,还是通过a validator运行HTML的错误? W3的HTML验证器不检查Javascript语法。