Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«HTML, XHTML ΠΈ CSS Π½Π° 100%Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 47

Автор Π˜Π³ΠΎΡ€ΡŒ ΠšΠ²ΠΈΠ½Ρ‚

<script language="JavaScript">

function getElements() //функция

{

var x=document.getElementsByTagName("input");

alert(x.length);

}

</script>

</head>

<body>

<!–Ѐорма –>

<input name="myInput" type="text" size="30" /><br />

<input name="myInput" type="text" size="30" /><br />

<input name="myInput" type="text" size="30" /><br />

<br />

<input type="button" onclick="getElements()" value="ΠŸΠΎΡΡ‡ΠΈΡ‚Π°Π΅ΠΌ элСмСнты input" />

</body>

</html>

Π”Π°Π½Π½Ρ‹ΠΉ сцСнарий содСрТит Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ getElements(), которая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ подсчСт всСх элСмСнтов Ρ‚ΠΈΠΏΠ° INPUT Π½Π° Π²Π΅Π±-страницС, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΠΎΠΊΠ½Π΅ Alert (рис. 10.20).

Рис. 10.20. Окно с количСством элСмСнтов

Ѐункция срабатываСт ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ΅. Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π² этом HTML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ содСрТится Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ элСмСнта, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ элСмСнтом INPUT: Ρ‚Ρ€ΠΈ поля для Π²Π²ΠΎΠ΄Π° ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° (рис. 10.21).

Рис. 10.21. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ INPUT

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ рассмотрСли ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² языкС JavaScript – ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Document, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ собой Π²Π΅Π±-страницу, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΡƒΡŽ Π² ΠΎΠΊΠ½ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Благодаря ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ свойствам ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Document ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ, располоТСнным Π½Π° Π²Π΅Π±-страницС.

Доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ JavaScript ΠΎΡ‡Π΅Π½ΡŒ часто ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ для создания динамичСских вСбстраниц, способных ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ доступ сцСнария ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ элСмСнтам Π²Π΅Π±-страницы.

Доступ ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ HTML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² языкС JavaScript ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ Π² строгом соотвСтствии с ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠ΅ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ иСрархичСской структуры ΠΈΠΌΠ΅Π΅Ρ‚ своС имя.

НапримСр, Π½Π° Π²Π΅Π±-страницС ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ нСсколько ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ img1, img2 ΠΈ img3. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ рисунку, Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ с самой Π΅Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹. Π“Π»Π°Π²Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π° Π²Π΅Π±-страницС называСтся Document. ВсС изобраТСния Π½Π° страницС прСдставлСны ΠΊΠ°ΠΊ коллСкция images. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ рисунок всСгда обозначаСтся ΠΊΠ°ΠΊ images [0], Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ°ΠΊ images [1], Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΊΠ°ΠΊ images [2] ΠΈ Ρ‚. Π΄. Π˜Π½Ρ‹ΠΌΠΈ словами, отсчСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ начинаСтся Π½Π΅ с Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹, Π° с нуля.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ img1, записав Π² сцСнарии JavaScript document.images[0]. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ img2, Π·Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² сцСнарии строку document. images [1]. БоотвСтствСнно для получСния доступа ΠΊ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌΡƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ img3 Π½Π° Π²Π΅Π±-страницС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ document.images[2].

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π½ΠΎΠΌΠ΅Ρ€ изобраТСния Π½Π° Π²Π΅Π±-страницС ΠΈ Π½ΠΎΠΌΠ΅Ρ€ изобраТСния Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ.

Π’ΠΎΡ‚ ΠΆΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ дСйствуСт ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ ссылкам ΠΈ Ρ„ΠΎΡ€ΠΌΠ°ΠΌ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Π»ΠΈΠ±ΠΎ элСмСнту Ρ„ΠΎΡ€ΠΌΡ‹, снова Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ с Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π—Π°Ρ‚Π΅ΠΌ прослСТиваСтС ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ записываСтС названия всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΈΠ½ΡƒΠ΅Ρ‚Π΅.

НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ тСкст Π²Π²Π΅Π» ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚Π΅Π»ΡŒ вашСй Π²Π΅Π±-страницы Π² ΠΏΠΎΠ»Π΅ Ρ„ΠΎΡ€ΠΌΡ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ (value) Π΄Π°Π½Π½ΠΎΠ³ΠΎ поля. Для этого Π² сцСнарии JavaScript ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ строку name= document. forms [0]. elements [0]. value. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Π°Ρ строка заносится Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ name. И Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΅Π΅ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… строках сцСнария JavaScript.

Однако, Ссли Π²Ρ‹ создаСтС ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ Π²Π΅Π±-страницу, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° адрСсации ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ становится вСсьма Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ. НапримСр, довольно Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Ρ‡Π΅Ρ€Π΅Π· строку document. forms [4]. elements [15]. МоТно Π·Π°ΠΏΡƒΡ‚Π°Ρ‚ΡŒΡΡ Π² количСствС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° страницС ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π’ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² JavaScript ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ коллСкциями ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Document, Π½ΠΎ ΠΈ самим ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°. НапримСр, Ρ„ΠΎΡ€ΠΌΠ΅ Π½Π° вашСй Π²Π΅Π±-страницС ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ имя myform с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° name: <form name="myform">. Π­Ρ‚Π° запись ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ пСрвая Ρ„ΠΎΡ€ΠΌΠ°, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ forms[0], ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ имя myform.

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ элСмСнту Ρ„ΠΎΡ€ΠΌΡ‹. ВмСсто elements[0] Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ name. ВмСсто name = document. forms[0].elements[0].value ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ name = document.myf orm. element name.value.

Π’Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΈΠ΅ΠΌ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ доступ ΠΊ элСмСнтам HTML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Π° ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° JavaScript, особСнно Π² случаС с большими Π²Π΅Π±-страницами, содСрТащими мноТСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!

ΠŸΡ€ΠΈ написании ΠΈΠΌΠ΅Π½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ слСдитС Π·Π° ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ рСгистра. НСльзя ΠΏΠΈΡΠ°Ρ‚ΡŒ Myform вмСсто myform, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ язык JavaScript чувствитСлСн ΠΊ рСгистру ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈΡ… ΠΊΠ°ΠΊ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ HTML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ двумя способами:

β€’ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΈ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²;

β€’ присваивая ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ имя.

Π’ любом ΠΈΠ· этих случаСв Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ всСх Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΠΊΠΎΠ². ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ уровня всСгда находится слСва Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, ΠΈ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ происходит ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ. По ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ языка JavaScript Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΈ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ.

Рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… способы доступа ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Π²Π΅Π±-страницы.

Π’ листингС 10.22 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ тСкст сцСнария, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Π΅, Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π² ΠΏΠΎΠ»Π΅ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для дальнСйшСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Листинг 10.22. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ

<html>

<head>

<!β€“ΠšΠΎΠ΄ JavaScript –>

<script language="JavaScript">

function doit()

{

var greeting="МнС нравится "

alert(greeting + document.aform.color.value

+ " " + document.aform.geometr.value)

var prich="ΠŸΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ "

alert(prich + document.aform.prichina.value)

alert("ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π±ΡƒΠΊΠ² Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ вашСй Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ "

+ document.aform.geometr.value.length)

}

</script>

</head>

<body>

<center>

<!–Ѐорма –>

<form name="aform">

Π’Π°ΡˆΠ° любимая гСомСтричСская Ρ„ΠΈΠ³ΡƒΡ€Π°:

<input type="text" NAME="geometr">

Π’Π°Ρˆ Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΉ Ρ†Π²Π΅Ρ‚:

<input type="text" NAME="color">

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²Π°ΠΌ нравится эта Ρ„ΠΈΠ³ΡƒΡ€Π°:

<input type="text" NAME="prichina">

<input type="button" VALUE="ΠžΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ" onClick="doit()">

</form>

</center>

</body>

</html>

Π’ Π΄Π°Π½Π½ΠΎΠΌ HTML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ располоТСна Ρ„ΠΎΡ€ΠΌΠ° с полями Π²Π²ΠΎΠ΄Π° ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ (рис. 10.22). ΠŸΡ€ΠΈ Π΅Π΅ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ событий onClick запускаСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ doit(), ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ Π΄Π°Π½Π½Ρ‹Π΅, Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π² поля Ρ„ΠΎΡ€ΠΌΡ‹.

Рис. 10.22. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Ρ„ΠΎΡ€ΠΌΡ‹

Доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Ρ„ΠΎΡ€ΠΌΡ‹ Π² Π΄Π°Π½Π½ΠΎΠΌ сцСнарии ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΡƒΡ‚Π΅ΠΌ присвоСния ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Ρ„ΠΎΡ€ΠΌΡ‹ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ пСрСчислСния всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² соотвСтствии с ΠΈΡ… ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠ΅ΠΉ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅.

Π‘Π°ΠΌΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ присвоСно имя aform. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ полю Π²Π²ΠΎΠ΄Π° Ρ‚Π°ΠΊΠΆΠ΅ присвоСны ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°: geometr, color, prichina. Π’Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ value. Π’ соотвСтствии с ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠ΅ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ мСстС стоит ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Document, Π΄Π°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля – тСкст, Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

Π’ сцСнарии эта Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: document. aform.geometr.value. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, функция doit() ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ· значСния value поля geometr Ρ„ΠΎΡ€ΠΌΡ‹ aform Π² HTML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ document. Аналогично происходит ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹.

Π”Π°Π½Π½Ρ‹Π΅, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΎΡ‚ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π² ΠΎΠΊΠ½Π΅ Alert (рис. 10.23).

Рис. 10.23. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ сцСнария

Рассмотрим Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сцСнария JavaScript (листинг 10.23).

Листинг 10.23. Π‘ΠΌΠ΅Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π²Π΅Π±-страницС

<html>

<head>

<title>Π‘ΠΌΠ΅Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ Ρ‡Π΅Ρ€Π΅Π· массив</title>

<!β€“ΠšΠΎΠ΄ JavaScript –>

<script language="JavaScript">

function myimage(pic) //функция

{

document.images[0].src=pic

}

</script>

</head>

<body text="#000000" bgcolor="#FFFFCC" link="#0000EE" vlink="#551A8B" alink="#FF0000">

<!– Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ страницы –>

<h1>

<font color="#000099">ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ</FONT>

</h1>

<center>

<table cols=2 width="100%">

<caption>

<font color="#000099" size=+2>ΠŸΡ€ΠΈΡ€ΠΎΠ΄Π°</font>

</caption>

<tr>

<td>

<ul>

<li><a href="javascript:myimage('a.jpg')">ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°1</li>

<li><a href="javascript:myimage('b.jpg')">ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°2</li>

<li><a href="javascript:myimage('c.jpg')">ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°3</li>

<li><a href="javascript:myimage('d.jpg')">ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°4</li>

<li><a href="javascript:myimage('e.jpg')">ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°5</li>

<li><a href="javascript:myimage('f.jpg')">ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°6</li>

<li><a href="javascript:myimage('g.jpg')">ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°7</li>

</ul>

</td>

<td align=center valign=center>

<img src="d.jpg"> </td>

</tr>

</table>

</center>

</body>

</html>

Π”Π°Π½Π½Ρ‹ΠΉ сцСнарий позволяСт ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρ‹ Π½Π° Π²Π΅Π±-страницС (рис. 10.24).

Рис. 10.24. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ Π½Π° страницС

Π’ HTML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° с двумя столбцами. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ столбцС находятся ссылки Π½Π° изобраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ столбСц. Π‘Π΅Π· сцСнария JavaScript рСализация Ρ‚Π°ΠΊΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°.

Π‘Π°ΠΌ сцСнарий находится Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ HEAD HTML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Он содСрТит Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ myimage(pic), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ названия рисунков. Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° строка, отвСтствСнная Π·Π° смСну ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ: document. images [0]. src=pic. Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π² Π΄Π°Π½Π½ΠΎΠΉ строкС ΡƒΠΊΠ°Π·Π°Π½Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Document, массив ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° страницС (images [0]) ΠΈ источник ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (src). Π’ массивС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ индСкс [0], ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² Π²Π΅Π±-страницС отобраТаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°. Как Π²Ρ‹ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Π½ΡƒΠ»Π΅Π²ΠΎΠΉ индСкс Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ соотвСтствуСт ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ Π² HTML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅.