• Регистриция
Этап применения умений и навыков.
Плохой специалист винит не себя, а инструменты, которыми он пользуется. Поэтому убедитесь в том, что ваше прог...
Этап финальной доводки.
Именно внимание к деталям отличает хорошую работу от великолепной. Вот несколько советов как «добавить изюм...
Фиксированный размер шрифта на Ваших веб-страничках
Вы когда нибудь задумывались о том, как выглядят ваши веб-странички на других компьютерах? Наверняка задумыв...
Этап финальной доводки.
Именно внимание к деталям отличает хорошую работу от великолепной. Вот несколько советов как «добавить изюм...
Секреты индексации сайта. Сайт может и должен работать. Пример №2
Звонит скептически настроенный знакомый и рассказывает "ужасную" историю. Сфера деятельности - бытовая элект...
При создании дизайна для Сети вам нужно принять к сведению, что контент будет меняться. О том, чтобы тратить в...
Плохой специалист винит не себя, а инструменты, которыми он пользуется. Поэтому убедитесь в том, что ваше прог...
JavaScript: Обращение к данным формы

С помощью JavaScript можно отправить данные формы на сервер, очистить ее, а также получить доступ к любому элементу формы для изменения его значений.

Существует несколько способов обращения к формам с использованием объектной модели.
Семейство forms

При создании формы, доступ к ней осуществляется через семейство forms. Для этого требуется либо указать номер формы, соответствующий элементу автоматически создаваемого массива, либо указать имя формы, заданное параметром name (пример 1).

Пример 1. Обращение к форме




...




alert(document.forms.length) // Получаем общее количество форм на странице
alert(document.forms[0].name) // Узнаем имя первой формы через массив forms
alert(document.forms.data.length) // Определяем количество элементов в форме с именем data
alert(document.forms["data"].length) // То же самое





Нумерация элементов массива всегда начинается с нуля, поэтому обращение к первой форме будет document.forms[0], ко второй — document.forms[1]. Вместо индекса массива можно указывать имя формы, в данном случае используется data — document.forms["data"]. Поскольку удобней всегда обращаться к форме по имени, рекомендуется всегда его задавать
Семейство all

Семейство all является характерным для браузера Internet Explorer, но также поддерживается многими браузерами, кроме Netscape версии 6 и выше. Обращение к форме происходит как к элементу массива с именем, совпадающим с именем формы — document.all["data"] или напрямую — document.all.data (пример 2).

Пример 2. Использование семейства all



...





alert(document.all["data"].length)
alert(document.all.data.name)





Internet Explorer поддерживает еще один способ обращения к формам — через семейство getElemetById. Пример — document.getElementById("data").length, где data является именем формы.
Получение значений элементов формы

Обращение к элементам формы осуществляется посредством семейства elements или напрямую по имени элемента (пример 3).

Пример 3. Получение значений









alert(document.forms.data.elements.length) // Общее число элементов в форме
alert(document.forms[0].elements[0].value) // Значение первого элемента
alert(document.forms["data"].userName.value) // Значение элемента с именем userName





Нумерация массива, как и в случае с семейством forms ведется с нуля, поэтому обращение к первому элементу формы будет elements[0]. Для большого количество данных в форме, значения элементов лучше получать по их имени. Здесь важна чувствительность к регистру, поэтому имя элемента, указанное параметром name, должно быть написано точно так же и при обращении к нему из JavaScript. Если в примере указать username вместо userName, ошибка не возникнет, но и нужные данные не получим.
Работа с фреймами

В случае использования фреймовой структуры, обращение к данным формы несколько меняется. Доступ из одного фрейма к другому происходит через семейство frames, оно аналогично по использованию семейству forms (пример 4).

Пример 4. Обращение к фрейму
parent.frames[0].forms.data.length // Получаем количество элементов формы с именем data в первом фрейме
parent.frames["main"].forms.data.length // Получаем количество элементов формы с именем data в фрейме main
parent.frames.main.forms.data.length // То же самое
parent.frames.main.forms.data.textfield.value // Значение поля textfield

В общем случае получение значения элемента формы будет таким.
parent.frames.имя_фрейма.имя_формы.имя_поля.value

В примере 5 используется два фрейма, данные из формы фрейма с именем main присваиваются текстовому полю фрейма с именем left.

Пример 5. Использование форм во фреймах
Файл index.html













Файл left.html













Файл main.html





function peredast(f) {

parent.frames.leftFrame.form1.textfield1.value = f.textfield2.value;

}












Для имен фреймом значение регистра также имеет принципиальное значение, при обращении из JavaScript имя фрейма необходимо писать, как оно указано в параметре name.
Резюме

Обращаться к элементам форм лучше всего через семейство forms, оно наиболее универсально и поддерживается всеми браузерами. При большом количестве разных форм на странице им удобнее задавать свои собственные имена и адресоваться к ним по их имени. Разницы в том, как использовать форму — косвенно, как массив или прямо, как свойство семейства, нет. Приведенные записи идентичны по результату.
document.forms["htmlField"].length
document.forms.htmlField.length

Значения элементов форм также удобно получать, обращаясь к ним по их имени, которое задается параметром name.
document.forms["имя формы"].имя элемента.value или
document.forms.имя формы.имя элемента.value

JavaScript чувствителен к регистру, поэтому имена в коде HTML и скрипте должны быть идентичны.

Использовать семейство elements целесообразно при однотипной обработке многих данных. Тогда можно использовать циклы, где в качестве счетчика будет выступать номер элемента формы.

 

Популярное

  • PHP. Пишем счетчик просмотров для каждой страницы сайта на php
    На некоторых сайтах часто можно увидеть следующую надпись внизу страницы или под статьями: "Всего просмотров xxx. Сегодня xx". На первый взгляд ничего примечательного...
    Пишем 'гостевую книгу' с нуля на php
    Почти на каждом более-менее популярном сайте есть форум или гостевая книга, эти элементы нужны для постоянного общения автора сайта с его пользователями. Но многие...
    Окна сообщений
    Хотя всплывающие окна это и очень эффективный метод получения новых подписчиков, есть один еще более успешный. Сочетая его с хорошим стимулом, вы в буквальном смыс...
    Собственная статистика поисковых слов (Яндекс, Рамблер, Google,...) на PHP
    В этой статья я бы хотел поделиться с вами своей новой разработкой – анализатором поисковых запросов с популярных поисковых систем, посмотреть, что это такое, и ка...
    Гостевая книга на PHP.
    В этой статье рассказывается о том, как создать гостевую книгу, описывается её структура и реализация. За пределами статьи остаются дизайн, вёрстка, оформление и т....
  • Организация CSS-файлов: Совет 1 - Флаги
    CSS Organization Tip 1: FlagsВам приходилось писать и работать с большими CSS-файлами? Мучались с бесконечным скроллингом вверх-вниз в поисках нужной части кода? CSS-файлы, с котор...
    Частые ошибки в веб-дизайне.
    Разметка текста – одна из самых важных характеристик дизайна. В большей части проектов текст доминирует, так что хорошо подобранные шрифты могут стать ключом к ра...
    Компот и мухи веб-разработки
    Русский интернет (уже наконец) вовсю осваивает “дизайн через CSS”, но многие все равно не понимают, почему именно надо дизайнить так, а не по-старому, через таблицы. Р...
    Создаем веб-дизайн на тему комиксов, Photoshop и HTML+CSS
    Давайте начнем! Для быстроты изложения я опущу объяснение основ (вроде того, как создать слой-маску или отредактировать обработчики или векторную фигуру). Вам нужн...
    HTML 4 не является языком оформления веб-страниц.
    Он является языком логической разметки страниц. Раньше, создавая HTML-документ, вы думали о том, что этот заголовок будет сделан жирной верданой золотистого цвета и о...
  • Немного о PHP.
    Интернет уже давно прочно вошел в нашу жизнь. Это смелое утверждение можно доказывать или опровергать много раз, но так или иначе все меняется, а с этим спорить никт...
    Основы написания PHP программ
    Как и в любом языке программирования в PHP есть свои правила, константы, зарезервированные слова и операторы, с помощью которых выполняются различные манипуляции с ...
    История РНР
    Начинать нужно всегда с самого простого, и сейчас я попробую познакомить Вас с программированием на скриптовом языке РНР. РНР (читается как пи-эйч-пи) появился на св...
    Особенности РНР
    Как и у всякого языка программирования, у РНР есть свой синтаксис. Он очень похож на синтаксис языка С или Perl. Программисты, пишущие на этих языках, смогут освоить РН...
    Введение в PHP
    PHP - это скриптовый язык программирования, который исполняет весь свой код на стороне сервера, а клиенту выдается только результат работы скрипта. Изначально PHP рас...

Теги

Календарь

< Ноябрь 2011 >
П В С Ч П С В
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 30        

Наши фото

Укажите свое мастерство









 

Обрати внимание

Факторы, влияющие на результаты поиска (поисковой выдачи)
На данный момент поисковыми системами при ранжировании сайтов используются два фактора:Соответствие текста страницы запросу, введенному пользователем (поискова...
Хороший дизайн
Как-то раз собрались авторитетные дизайнеры со всего мира и стали думать, что такое хороший дизайн. Думали - думали, и пришли к выводу: Хороший дизайн - это дизайн, ко...

На заметку

Твой сайт
Изготовление сайта - штука тяжёлая и занимает кучу времени. Так что длительность прогулок под Луной с любимой девушкой, а для кого и с любимым бойфрендом, придется с...
JavaScript: очистка формы
Для очистки формы существует специальная кнопка Reset, при нажатии на которую данные формы возвращаются в исходное значение. Если ввести свои данные в форму, а затем ...