Роботландский Университет © А.А.Дуванов

ОБЪЕКТНАЯ МОДЕЛЬ БРАУЗЕРА

i | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | ?
урок 9 | зачет | задания | урок 11

урок 10: формы (меню, многострочное поле)

В уроке рассмотрены следующие темы:

Интерфейсные элементы — меню и многострочное поле — задаются внутри формы при помощи блоков <SELECT>...</SELECT> и <TEXTAREA>...</TEXTAREA>

меню (SELECT)

Блок <SELECT>...</SELECT> вставляет в форму меню или, как говорят, разворачивающийся список.

Укажите автора:

Здесь лапы у елей дрожат на весу,
Здесь птицы щебечут тревожно.
Живешь в заколдованном диком лесу,
Откуда уйти невозможно.


 

Меню чаще всего используют в режиме, когда из нескольких предлагаемых вариантов можно выбрать только один, и в этом случае меню напоминает переключатель с радиокнопками.

Команда SELECT имеет следующий HTML-формат:

<SELECT атрибуты>
  <OPTION атрибуты>строка меню</OPTION>
  ...
  <OPTION атрибуты>строка меню</OPTION>
</SELECT>

Внутри блока <SELECT>...</SELECT> располагаются команды <OPTION>...</OPTION>, каждая из которых задает одну позицию меню на экране.

Приведенному выше примеру меню, соответствует такой код:

<SELECT name=menu>
  <OPTION selected>А.Пушкин</OPTION>
  <OPTION>М.Лермонтов</OPTION>
  <OPTION>В.Высоцкий</OPTION>
  <OPTION>О.Какаулин</OPTION>
  <OPTION>Б.Окуджава</OPTION>
</SELECT>


атрибуты тега SELECT

атрибуты тега OPTION

программное управление

Объект, построенный браузером для блока <SELECT>...</SELECT> имеет следующие свойства:

Чтобы читатель не запутался в перечисленных свойствах, ниже приводится краткая схема. Примеры обращения к свойствам относятся к случаю, когда тег SELECT имеет имя menu и расположен внутри формы с именем forma.

length            document.forma.menu.length
selectedIndex     document.forma.menu.selectedIndex
options           document.forma.menu.options
  text            document.forma.menu.options[0].text
  selected        document.forma.menu.options[0].selected
  defaultSelected document.forma.menu.options[0].defaultSelected

пример

Укажите автора:

Сидят чудовища кругом:
Один в рогах с собачьей мордой,
Другой с петушьей головой,
Здесь ведьма с козьей бородой,
Тут остов чопорный и гордый,
Там карла с хвостиком, а вот
Полужуравль и полукот.


 

Программа этого фрагмента зачетного урока приводится ниже.

многострочное поле (TEXTAREA)

В форме HTML можно разместить многострочное поле ввода, которое представляет собой простой текстовый редактор.

Найдите и исправьте ошибки в программе.

    

Блок TEXTAREA имеет следующий HTML-формат:

<TEXTAREA атрибуты>
 текст
</TEXTAREA>

Текст, размещаемый между начальным и конечным тегами, будет выводиться в многострочное поле вывода по умолчанию. На экране этот текст представляется точно в таком виде, в которым он записан в программе. Если текст содержит HTML-теги, то они выводятся на экран как обычные символы, лишаясь своего специального смысла.

атрибуты тега TEXTAREA

программное управление

Объект, построенный браузером для блока <TEXTAREA>...</TEXTAREA> имеет следующие свойства:

Замените “чужие” слова на правильные:

  

Поработайте на этом испытателе:

  1. Последовательно нажмите кнопки value и defaultValue и убедитесь, что значения этих свойств совпадают и соответствуют содержимому многострочного поля.
  2. Измените текст в многострочном поле. Теперь значения свойств value и defaultValue различаются: первое содержит текущее содержимое, отображаемое на экране, второе — текст, который задан в HTML-коде.

Программа испытателя показана ниже:

<P>Замените &#147;чужие&#148; слова на правильные:
<P>
<FORM>
  <TEXTAREA name=edit rows=7 cols=44>
    Покрывало
    Убежало,
Улетела размазня,
    И кукушка,
    Как лягушка,
Ускакала от меня.
  </TEXTAREA>
  <NOBR>
    <INPUT type=reset value=Восстановить
    >&nbsp;<INPUT type=button value=value
           onclick="alert(this.form.edit.value)"
    >&nbsp;<INPUT type=button value=defaultValue
           onclick="alert(this.form.edit.defaultValue)">
  </NOBR>
</FORM>

Содержимое поля можно не только читать, но и менять внутри программы-скрипта.

   

Программа этого стенда показана ниже:

<SCRIPT language=JavaScript>
<!--
var text1 = "В далеком созвездии Тау-Кита\r\n"+
            "Все стало дл\я нас непон\ятно.\r\n"+
            'Сигнал посылаем: "Вы что это там?"\r\n'+
            "А нас посылают обратно.\r\n";
var text2 = "Джон Ланкастер в одиночку,\r\n"+
            "Преимущественно ночью,\r\n"+
            "Чем-то щелкал,\r\n"+
            "В чем был спр\ятан инфракрасный объектив,\r\n"+
            "А потом в нормальном свете\r\n"+
            "Представало в черном цвете\r\n"+
            "То, что ценим мы и любим,\r\n"+
            "Чем гордитс\я коллектив.\r\n";
var text3 = "Удар, удар, еще удар,\r\n"+
            "Оп\ять удар и вот\r\n"+
            "Борис Буткеев (Краснодар)\r\n"+
            "проводит апперкот.\r\n";
//-->
</SCRIPT>
<FORM>
     <TEXTAREA name=edit rows=8 cols=54 readonly>
 Из песен  Владимира Высоцкого
 - - - - - - - - - - - - - - -
     </TEXTAREA>
     <NOBR>
     <INPUT type=reset value=Сброс
     >&nbsp;<INPUT type=button value="Тау-Кита"
            onclick="this.form.edit.value=text1;"
     >&nbsp;<INPUT type=button value="Джон Ланкастер"
            onclick="this.form.edit.value=text2;"
     >&nbsp;<INPUT type=button value=Боксер
            onclick="this.form.edit.value=text3;">
     </NOBR>
</FORM>

Обратите внимание на то, что концы текстовых строк, предназначенных для вывода в окошко редактора TEXTAREA, необходимо явно помечать символами “\r\n”.

пример

Напишите скрипт и запустите его кнопкой Go. Для показа результата используйте команду alert.

 

Программа универсального испытателя скриптов:

<P>
Напишите скрипт и для запустите его кнопкой <EM>Go</EM>. Для
показа результата, используйте команду <TT>alert</TT>.
<P>
<FORM>
  <TEXTAREA name=edit rows=7 cols=54>
// Вычисление суммы элементов массива
var set = new Array(1,2,3,4,5,6,7,8,9,10);
var sum = 0;
for(var i=set.length; --i>=0;)
  sum += set[i];
alert(sum);
  </TEXTAREA>
  <INPUT type=reset value=Восстановить
  >&nbsp;<INPUT type=button value=Go
         onclick="eval(this.form.edit.value);"
</FORM>

зачетный класс

Нажмите кнопку Сброс, затем приступайте к решению.

  1. Какая из программ соответствует экранному интерфейсу?

           


  2. Какая из программ соответствует экранному интерфейсу?

           


  3. Какая из программ соответствует экранному интерфейсу?

           

Чтобы увидеть результат работы, нажмите кнопку Оценка.

 

задания

  1. Посмотрите на устройство меню выбора на радиокнопках: пример 1 и пример 2. Измените эти приложения “под себя”.

  2. Поработайте со следующими заготовками:
    Наполните заготовки собственным содержанием.

  3. Создайте приложение “Универсальный испытатель скриптов”. Предусмотрите кнопки: Приложение должно иметь табло-индикатор номера примера, загруженного в испытатель, и список с исходными текстами примеров.

  4. Электронный контролер. Разработайте приложение, которое можно будет использовать для проведения диктантов и контрольных работ.

    Диктант. Ученик записывает текст под диктовку в экранный редактор, затем нажимает кнопку Проверить. Приложение сравнивает написанный текст с заранее заготовленным образцом. Слова с ошибками демонстрируются при помощи функции alert. Когда все ошибки исправлены, приложение выставляет оценку.

    Контрольная работа. Ученик заполняет в тексте на экране пропущенные места (они могут быть представлены, например, символами подчеркивания), затем нажимает кнопку Проверить. Приложение сравнивает написанный текст с заранее заготовленным образцом. Слова с ошибками показываются при помощи функции alert. Когда все ошибки исправлены, приложение выставляет оценку.

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

  5. Разработайте и напишите интерактивный зачетный класс по какому-нибудь школьному предмету.

 

 

содержание урок 9 урок 11 письмо автору об авторах