Вход/Регистрация
HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов
вернуться

Дронов Владимир

Шрифт:

Листинг 20.14

<FORM ACTION="#">

<INPUT TYPE="checkbox" ID="updates" NAME="updates">

Я хочу получать письма со списком обновлений Web-сайта

Почтовый адрес: <INPUT TYPE="text" ID="email" NAME="email">

</FORM>

.

Ext.getDom("email"). disabled = false;

Здесь мы с помощью метода getDom получаем экземпляр объекта HTMLElement, представляющий поле ввода почтового адреса email, и делаем его недоступным для ввода, присвоив свойству disabled значение false.

Свойство readOnly позволяет сделать элемент управления доступным или недоступным для ввода. Значение true этого свойства делает элемент управления недоступным для ввода, значение false — доступным:

Ext.getDom("email"). readOnly = false;

Свойство value задает или возвращает значение, введенное в поле ввода или область редактирования, в виде строки:

var sEmail = Ext.getDom("email"). value;

Свойство checked позволяет получить или задать состояние флажка или переключателя — установлен он или нет. Значение true обозначает, что флажок или переключатель установлен, значение false — сброшен:

Ext.get("updates"). on("click", function { var htelEmail = Ext.getDom("email"); htelEmail.disabled = this.checked;

});

Здесь мы привязываем к флажку updates функцию — обработчик события click, которую тут же и объявляем. Эта функция делает доступным для посетителя поле ввода email, если флажок установлен, и недоступным — если он сброшен. Наша задача упрощается тем, что переменная this, доступная в теле функции- обработчика события и хранящая элемент Web-страницы, в котором обрабатывается событие, хранит этот элемент в виде экземпляра объекта HTMLElement. Спасибо разработчикам Ext Core!

Еще один пример приведен в листинге 20.15.

Листинг 20.15

<FORM ACTION="#">

<INPUT TYPE="radio" ID="updates_yes" NAME="updates" CHECKED>

Я хочу получать письма со списком обновлений Web-сайта

<INPUT TYPE="radio" ID="updates_no" NAME="updates">

Я не хочу получать письма со списком обновлений Web-сайта

Почтовый адрес: <INPUT TYPE="text" ID="email" NAME="email">

</FORM>

.

Ext.get("updates_yes"). on("click", function { var htelEmail = Ext.getDom("email"); htelEmail.disabled = this.checked;

});

В листинге 20.15 мы выполняем аналогичные действия, но уже с группой из двух переключателей updates2. Обратим внимание, что мы проверяем состояние только первого переключателя этой группы — updates_yes. В группе может быть включен только один переключатель, и если посетитель включит второй переключатель этой группы, первый переключатель отключится. Фактически группа из двух переключателей ведет себя как флажок.

Свойство selectedIndex задает или возвращает номер выбранного в списке пункта в виде числа. При этом:

— если список позволяет выбирать одновременно только один пункт, возвращается номер именно этого пункта;

— если список позволяет выбирать сразу несколько пунктов, возвращается номер первого выбранного пункта;

— если ни один пункт в списке не выбран, возвращается значение –1.

Понятно, что пользы от свойства selectedIndex будет больше в том случае, если список позволяет выбирать только один пункт одновременно. Хотя в любом случае его можно применять для проверки, выбран ли в списке хоть один пункт. Листинг 20.16 иллюстрирует пример.

Листинг 20.16

<FORM ACTION="#">

Выполнять поиск по

<SELECT ID="search_in" NAME="search_in">

<OPTION>названиям</OPTION>

<OPTION>ключевым словам</OPTION>

<OPTION SELECTED>названиям и ключевым словам</OPTION>

</SELECT>

</FORM>

.

var iIndex = Ext.getDom("search_in"). selectedIndex;

if (iIndex == -1) {

//если в списке не выбран ни один пункт, делаем одно

} else {

//если в списке выбран какой-либо пункт, делаем другое

}

Свойство options возвращает коллекцию пунктов списка. Эта коллекция является

экземпляром объекта HTMLOptionsCollection:

var clItems = Ext.getDom("search_in"). options;

Свойство length объекта HTMLOptionsCollection возвращает число элементов в коллекции, т. е. количество пунктов в списке:

var iItemsCount = clItems.length;

Для доступа к отдельным пунктам в этой коллекции мы можем использовать числовые индексы, как и в случае массива:

var htelSecondItem = clItems[1];

  • Читать дальше
  • 1
  • ...
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: