Web-инжиниринг

       

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.


Содержание раздела