Url
Схема URL- "javascript:..."
Для программирования гипертекстовых переходов в спецификацию Универсального Идентификатора Ресурсов разработчики JavaScript ввели отдельную схему по аналогии со схемами http, ftp и т.п. - javascript. Эта схема URL упоминается в разделе "Размещение JavaScript-кода" в контексте передачи управления JavaScript-интерпретатору от HTML-parser-а. Кроме того, программирование гипертекстового перехода рассмотрено в разделе Обработка события Click. Теперь мы рассмотрим более общий случай обработки события гипертекстового перехода при выборе гипертекстовой ссылки.
Схема URL javascript в общем виде выглядит следующим образом:
<a href="javascript:...;">...</a>
<form action="javascript:...">
Одним словом, в любом месте, где мы используем URL, вместо любой из стандартных схем можно применить схему javascript. Единственное исключение составляет контейнер IMG. URL в нем используется в атрибуте src. Принять определенное значение src может либо при помощи назначения в IMG, либо при помощи обращения к свойству img. По большому счету, применение JavaScript в src может только проинициализировать картинку. Дальнейшее ее изменение описано в разделе "Программируем графику". Рассмотрим пример простой гипертекстовой ссылки:
<a
href="javascript:window.alert('window.alert() function changes an ordinal href');void(0);">
Заместили обычную ссылку
</a>
Заместили обычную ссылку
Можно выполнить аналогичную операцию, но над картинкой:
var flag=0;
function ichange()
{
if(flag==0)
{
document.i1.src="../images/jsi/tiger1s.gif"; flag=1;
}
else
{
document.i1.src="../images/jsi/tiger1g.gif"; flag=0;
}
}
...
<a href="javascript:ichange();void(0);">
<img name=i1 src=../images/jsi/tiger1g.gif border=0>
</a>
Если постоянно выбирать тигра, то картинка будет то становиться цветной, то, наоборот, обесцвечиваться.
Попробуем теперь выполнить JavaScript-код применительно к контейнеру FORM:
Введите текст для отображения в окне и нажмите ввод:
<form name=f action="javascript:window.alert(document.f.fi0.value);void(0);" method=post>
Введите текст для отображения в окне и нажмите ввод:
<input name=fi0 size=20 maxlength=20>
</form>
Следует при этом заметить, что все-таки использование схемы javascript в этом месте HTML-разметки выглядит несколько "коряво". Для того чтобы все работало так, как предполагается автором, приходится использовать метод post. Гораздо логичнее выглядит применение обработчика события onSubmit.