2011-10-02 63 views
0

我有麻煩了解用輸入按鈕調用函數的xhtml語法。我已經搜索過這個,但找不到明確的解釋。混淆語法,使用輸入按鈕調用JS函數

這段代碼來自我的書,它工作正常,但我不知道下面的行如何工作...... onclick =「checkGrade(document.gradeForm.grade.value);」

從我可以看出,gradeForm是表格,然後等級是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> 

回答

2

不,grade指的是文本框。您正在將文本框的值傳遞給checkGrade函數。 switch聲明運行於grade變量,該變量包含grade文本框的值。

你不能真正「命名」switch語句。 switch的參數表示您正在測試的值。

document代表您的HTML文檔,value是名爲grade的文本框的值。另一方面,不建議在XHTML/HTML中使用onClick屬性。不引人注意的Javascript是首選,你將一個處理程序綁定到按鈕。欲瞭解更多詳情,我建議您閱讀Document Object Model,特別是The DOM and Javascript

你正在使用這本書多少歲?

+0

謝謝!這現在很清楚。我正在使用的這本書是相當新的,但是它們進入了本書後面的DOM。當我到達DOM時,我會記住最後一段。再次感謝! – SkinnyG33k