Путать с синтаксисом, вызывая функцию JS с помощью кнопки ввода - PullRequest
0 голосов
/ 02 октября 2011

У меня проблемы с пониманием синтаксиса xhtml для вызова функции с помощью кнопки ввода. Я искал это, но не могу найти четкого объяснения.

Этот фрагмент кода взят из моей книги, и он работает нормально, но я не уверен, как именно работает следующая строка ... onclick = "checkGrade (document.gradeForm.grade.value);"

Из того, что я могу понять, gradeForm - это форма, а затем grade - это оператор switch? Так вы бы использовали Foo, если бы внутри функции checkGrades был другой оператор 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>

1 Ответ

2 голосов
/ 02 октября 2011

Нет, grade относится к текстовому полю.Вы передаете значение текстового поля в функцию checkGrade.Оператор switch выполняется над переменной grade, которая содержит значение текстового поля grade.

Вы действительно не можете «назвать» инструкцию switch.Аргумент switch представляет значение, которое вы тестируете.

document представляет ваш HTML-документ, а value - значение текстового поля с именем grade.С другой стороны, не рекомендуется использовать атрибут onClick в XHTML / HTML.Ненавязчивый Javascript предпочтителен, когда вы привязываете обработчик к кнопке.Для получения более подробной информации я рекомендую прочесть о объектной модели документов , в частности DOM и Javascript .

Сколько лет этой книге вы пользуетесь?

...