Объект location

Если Вы имеете дело с большими страницами, то процедура адресации к различным объектам по номеру может стать весьма запутынной. Например, придется решать, как следует обратиться к объекту document.forms[3].elements[17] document.forms[2].elements[18]? Во избежание подобной проблемы, Вы можете сами присваивать различным объектам уникальные имена. Как это делается, Вы можете увидеть опять же в нашем примере:

<form name="myForm">
Name:
<input type="text" name="name" value=""><br>
...

Эта запись означает, что объект forms[0] получает теперь еще и второе имя — myForm. Точно так же вместо elements[0] Вы можете писать name (последнее было указано в атрибуте name тэга <input>). Таким образом, вместо

name= document.forms[0].elements[0].value;

Вы можете записать

name= document.myForm.name.value;

Это значительно упрощает программирование на JavaScript, особенно в случае с большими web-страницами, содержащими множество объектов. (Обратите внимание, что при написании имен Вы должны еще следить и за положением регистра — то есть Вы не имеете права написать myform вместо myForm)
В JavaScript многие свойства объектов достпуны не только для чтения. Вы также имеете возможность записывать в них новые значения. Например, посредством JavaScript Вы можете записать в упоминавшееся поле новую строку.



Пример кода на JavaScript, иллюстрирующего такую возможность — интересующий нас фрагмент записан как свойство onClick второго тэга <input>:

<form name="myForm">
<input type="text" name="input" value="bla bla bla">
<input type="button" value="Write"
  onClick="document.myForm.input.value= 'Yo!'; ">

Сейчас я не имею возможности описывать каждую деталь данного примера. Намного лучше будет, если Вы попробуете сами понять иерархию объектов в JavaScript, обратившись к справочнику по JavaScript. В заключение я написал небольшой пример. В нем Вы увидите, как используются различные объекты. Попытайтесь разобрать его, обращаясь за помощью к документации, предоставляемой фирмой Netscape, или — еще лучше — к моей книге по JavaScript..: -)
Рассмотрим сперва следующий пример, чтобы увидеть, как это делается:

Исходный код скрипта:

<html>
<head>
<title>Objects</title>
<script language="JavaScript">
<!-- hide
function first() {
// создает выпадающее окно, где размещается
// текст, введенный в поле формы
  alert("The value of the textelement is: " +
    document.myForm.myText.value);
}
function second() {
// данна\я функци\я провер\яет состо\яние переключателей
  var myString= "The checkbox is ";
// переключатель включен, или нет?
  if (document.myForm.myCheckbox.checked) myString+= "checked"
    else myString+= "not checked";
// вывод строки на экран
  alert(myString);
}
// -->
</script>
</head>
<body bgcolor=lightblue>
<form name="myForm">
<input type="text" name="myText" value="bla bla bla">
<input type="button" name="button1" value="Button 1"
  onClick="first()">
<br>
<input type="checkbox" name="myCheckbox" CHECKED>
<input type="button" name="button2" value="Button 2"
  onClick="second()">
</form>
<p><br><br>
<script language="JavaScript">
<!-- hide
document.write("The background color is: ");
document.write(document.bgColor + "<br>");
document.write("The text on the second button is: ");
document.write(document.myForm.button2.value);
// -->
</script>
</body>
</html>

Объект location

Кроме объектов window и document в JavaScript имеется еще один важный объект — location. В этом объекте представлен адрес загруженного HTML-документа. Например, если Вы загрузили страницу http://www.xyz.com/page.html, то значение location.href как раз и будет соответствовать этому адресу.
Впрочем, для нас гораздо более важно, что Вы имеете возможность записывать в location.href свои новые значения. Например, в данном примере кнопка загружает в текущее окно новую страницу:

<form>
<input type=button value="Yahoo"
  onClick="location.href='http://www.yahoo.com'; ">
</form>
Рубрика: Документ HTML

Добавить комментарий

Вам надо войти, чтобы написать комментарий.