- •Билет 1. Билет 7
- •Билет 2. Билет 8.
- •Билет 3. Билет 9. Билет 23.
- •Билет 4. Билет 10. Билет 24
- •Билет 5. Билет 11. Билет 27
- •Билет 6. Билет 12. Билет 28
- •Билет 13! Билет 19. Билет 31. Html. Структура документа, физическое и логическое форматирование, оформление абзацев и списков
- •Билет 14. Билет 20. Билет 32. Html. Рисунки и гиперссылки
- •Билет 15. Билет 25. Html. Использование и оформление таблиц
- •Билет 16. Билет 26. Html. Разбиение окна на фреймы
- •Билет 17. Html. Оформление документов с использованием css
- •Билет 18. Html. Типы css
- •Билет 21. Билет 29.
- •Билет 22
- •Билет 30 Структуры в языке с
- •Билет 33 Библиотека qt. Создание приложений в qt Creator.
- •Билет № 34 Библиотека qt. Работа со строками.
- •Билет 35 Использование JavaScript при оформлении динамических html страниц
- •Билет 36 Использование объектной модели документа (dom) в Java Script
- •Иерархия классов dom
- •Билет 37 Формы и их использование в JavaScript
- •Билет № 38 Объектная модель браузера и ее использование в JavaScript
Билет 37 Формы и их использование в JavaScript
Для обращения к самой форме и ее элементам используют именование:
<FORM NAME=f_name METHOD=post ACTION="javascript:...;">
<INPUT NAME=i_name SIZE=30 MAXLENGTH=30>
</FORM>
После именования, ко всей форме или ее элементам можно будет обратиться по имени, что сильно облегчает процесс написания скриптов:
window.document.f_name.i_name.value="Изменяем значение текстового поля";
Формы широко используются на Интернет. Информация, введенная в форму, часто посылается обратно на сервер или отправляется по электронной почте на некоторый адрес. Проблема состоит в том, чтобы убедиться, что введеная пользователем в форму информация корректна. Легко проверить ее перед пересылкой в Интернет можно с помощью языка JavaScript.
Если Вы хотите, чтобы за вносимыми в форму данными следил сервер, то Вы должны использовать интерфейс CGI (Common Gateway Interface).
С помощью JavaScript Вы не сможете создать книгу читательских отзывов, поскольку JavaScript лишен возможности записывать данные в какой-либо файл на сервере. Делать это Вы можете только через интерфейс CGI.
Использование свойства method в JS.
Всем нам уже давно знакомо свойство HTML форм – method. Как известно это свойство определяет способ передачи данных от формы обработчику.
JavaScript может самостоятельно определять и изменять значение этого свойства, как и множества других.
Таким образом JS позволяет в режиме реального времени изменять метод передачи данных от формы, что может оказаться очень полезным при создании универсальных форм, способных встраиваться в различные html страницы.
Свойство target определяет имя окна, в которое следует загружать результат обращения к CGI – скрипту. Применение значения этого свойства внутри JavaScript–программ не оправдано, так как всегда можно получить идентификатор окна или задействовать встроенный массив frames[0] и свойства окна opener, top, parent и т.п. Для загрузки внешнего файла в некоторое окно всегда можно применить метод window.open(). Но тем не менее использовать это свойство оказывается иногда очень полезно.
В наиболее общем виде оператор <FORM>, предназначенный для создания форм в документах HTML, выглядит следующим образом:
<FORM
NAME="Имя_формы"
TARGET="Имя_окна"
ACTION="Адрес_URL_расширения_сервера"
METHOD=GET или POST
ENCTYPE="Кодировка_данных"
onSubmit="Обработчик_события_Submit">
. . .
определение полей и органов управления
. . .
</FORM>
Параметр NAME задает имя формы. Это имя нужно для адресации формы как свойства объекта Document.
Назначение параметра TARGET аналогично назначению этого же параметра в операторе <A>. Когда форма используется для передачи запроса расширению CGI сервера Web, ответ, полученный от сервера, отображается в окне. Имя этого окна задано параметром TARGET. Если ответ должен отображаться в том же окне, что и форма, то параметр TARGET задавать не нужно.
С помощью параметра ACTION указывается адрес URL загрузочного файла программы CGI, а также передаваемые расширению параметры. В том случае, когда форма предназначена для передачи данных расширению сервера Web, параметр ACTION является обязательным. Но если данные, введенные в форме, обрабатываются сценарием JavaScript локально и не передаются серверу Web, этот параметр можно опустить.
Параметр METHOD задает метод передачи данных из формы расширению сервера Web и может принимать значения GET или POST. Если данные из полей формы обрабатываются сценарием JavaScript локально, параметр METHOD задавать не нужно.
Параметр ENCTYPE задает тип MIME передаваемых данных и используется очень редко. Если форма предназначена для передачи текстовых данных (как это обычно бывает), этот параметр по умолчанию имеет значение application/x-www-form-urlencoded. В этом случае для передаваемых данных используется так называемая кодировка URL. Тип данных multipart/form-data позволяет передавать как текстовые, так и двоичные данные. При локальной обработке данных сценарием JavaScript параметр ENCTYPE не задается.
Задание: Разработать класс, характеризующий фильм (название, режиссер, год выпуска и т.д). Класс должен иметь конструктор по умолчанию и конструктор с параметрами
#include<string> #include<iostream> #include<stdio.h> #include <stdlib.h> #include <conio.h> using namespace std; //объявление класса class Film { public: Film(); Film(std::string n,std::string a,int y); ~Film(); std::string GetName(); void SetName(std::string n); std::string GetAuthor(); void SetAuthor(std::string a); int GetYear(); void SetYear(int y); private: std::string name; std::string author; int year; };
//программа использующая класс int main() { int N=3; Film R1; Film R2("Avatar","Pupkin",1998); R1.SetName("Raduga"); R1.SetAuthor("Ivanov"); R1.SetYear(2022); cout<<R1.GetName()<<" "<<R1.GetAuthor()<<" "<<R1.GetYear()<<endl; cout<<R2.GetName()<<" "<<R2.GetAuthor()<<" "<<R2.GetYear()<<endl; Film R3[N]; std::string nn; std::string na; int ny; for(int i=0;i<N;i++) { cout<<"Enter name: "; cin>>nn; R3[i].SetName(nn); cout<<"Enter author: "; cin>>na; R3[i].SetAuthor(na); cout<<"Enter year: "; cin>>ny; R3[i].SetYear(ny); } for(int i=0;i<N;i++) cout<<R3[i].GetName()<<" "<<R3[i].GetAuthor()<<" "<<R3[i].GetYear()<<endl; getch(); return 0; }
|
Film::Film()//конструктор по умолчанию {} Film::Film(std::string n,std::string a,int y) //конструктор с параметрами { name=n; author=a; year=y; } Film::~Film() {} std::string Film::GetName() { return name; } std::string Film::GetAuthor() { return author; } void Film::SetName(std::string n) { name=n; } void Film::SetAuthor(std::string a) { author=a; }
int Film::GetYear() { return year; } void Film::SetYear(int y) { year=y; }
|
