2011-10-02 3 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 함수에 전달합니다. 문은 grade 텍스트 상자의 값을 보유하는 grade 변수를 통해 실행됩니다.

정말 스위치 문을 "이름 지정"할 수 없습니다. switch에 대한 인수는 테스트중인 값을 나타냅니다.

document은 사용자의 HTML 문서를 나타내며 valuegrade이라는 텍스트 상자의 값입니다. XHTML/HTML에서 onClick 속성을 사용하지 않는 것이 좋습니다. 버튼에 핸들러를 바인딩하는 조심성있는 자바 스크립트가 선호됩니다. 자세한 내용은 Document Object Model (특히 The DOM and Javascript)을 읽어 보시기 바랍니다.

사용중인 책이 몇 통입니까?

+0

와우 감사합니다. 이제는 그 사실이 매우 분명합니다. 제가 사용하고있는 책은 꽤 최근이지만, 그들은 책의 뒤쪽으로 DOM으로 들어갑니다. DOM에 도착할 때 마지막 단락을 염두에 두겠습니다. 다시 한 번 감사드립니다! – SkinnyG33k