2011-02-15 46 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