2011-02-15 48 views
0

好吧,我有点卡在这一个。我在看我的书。我很确定我想这个声明

我在想我应该使用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> 
+0

你们怎么看到什么?我看到一个开头的段落,然后“// //]]>”。我正在使用Chrome。 – ClosureCowboy 2011-02-15 03:07:09

+0

@Closure:他编辑的问题,缓存也许? – JCOC611 2011-02-15 03:07:54

+0

@ jcoc611在编辑之前加载我的页面。 – ClosureCowboy 2011-02-15 03:08:41

回答

3

您错过了第二个>您的身体标记,并且您的表单的操作属性之前还有一个额外的引号。

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

switch(grade.toUpperCase()) { 

通过@ Matchu的“默认”修复,我能够在Internet Explorer,Firefox和Chrome中运行您的代码。

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

+0

好的,谢谢我完全绕过那一个。 – norris1023 2011-02-15 03:10:44

0

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

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

1

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

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

您的<body>标签也处于未封闭状态。这可能是您的错误的来源。

编辑:

一些更多的东西:

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

1

尝试改变<input type="text" name="grade" /><input type="text" id="grade" />

使用name =如果你提交一个表单,但ID =如果需要javascript来识别它。可能有几个同名的输入。

--Dave