Элемент Button (кнопка) – один из наиболее часто используемых элементов фор_ мы, т. к. он предоставляет понятный визуальный способ вызова пользователем какого_либо запрограммированного сценарием действия. Элемент Button не име_ ет собственного поведения, предлагаемого по умолчанию, и не представляет ни_ какой пользы без обработчика события onclick (или другого события). Свойство value элемента Button управляет текстом, появляющимся на самой кнопке. Это свойство можно установить, изменив текст (только «чистый» текст, а не HTML_ текст), присутствующий на кнопке, и это часто бывает полезно.
Обратите внимание: гиперссылки предоставляют такой же обработчик события onclick, что и кнопки, и любой объект_кнопку можно заменить гиперссылкой, выполняющей при щелчке такое же действие. Когда вам требуется элемент, ко_ торый графически выглядит как кнопка, используйте кнопку. Когда действие, вызываемое обработчиком onclick, можно классифицировать как «переход по ссылке», используйте ссылку.
Элементы Submit и Reset очень похожи на элемент Button, но имеют связанные с ними действия, предлагаемые по умолчанию (передача или очистка формы).
18.3. Сценарии и элементы формы
Так как у этих элементов имеются действия по умолчанию, они могут быть по_ лезны даже без обработчика событий onclick. В то же время действия, выполняе_ мые ими по умолчанию, определяют, что эти элементы полезнее для форм, от_ правляемых на веб_сервер, чем для чисто клиентских JavaScript_программ. Ес_ ли обработчик события onclick возвращает false, стандартное действие этих кно_ пок не выполняется. Обработчик onclick элемента Submit позволяет проверить введенные в форме значения, но обычно это делается в обработчике onsubmit са_ мой формы.
Создавать кнопки Button, Submit и Reset можно при помощи тега <button> вместо традиционного тега <input>. Тег <button> более гибок, т. к. выводит не просто текст, заданный атрибутом value, а любое HTML_содержимое (форматирован_ ный текст и/или изображения), присутствующее между тегами <button> и </but_ ton>. Тег <button> не обязательно должен находиться в пределах тега <form> и мо_ жет размещаться в любом месте HTML_документа.
Объект Button, созданный тегом <button>, формально отличается от созданного тегом <input>, но оба имеют одинаковые значения поля type, да и в остальном их поведение довольно схоже. Основное отличие состоит в том, что тег <button> не использует значение свойства value для определения внешнего вида кнопки, т. е. внешний вид кнопки нельзя изменить путем установки свойства value.
В четвертой части книги нет описания элемента Button. Это описание, включая описание элементов, создаваемых с помощью тега <button>, вы найдете в разде_ ле, посвященном элементу Input.