Книга: Программирование на языке Ruby
19.1.2. Вывод и обработка форм
19.1.2. Вывод и обработка форм
Наиболее распространенный способ взаимодействия с CGI-программой — форма. HTML-формы создаются с помощью специальных тегов, которые браузер представляет в виде элементов ввода данных. Подробное их обсуждение выходит за рамки данной книги, но существует немало книг и онлайновых руководств по этому предмету.
В классе CGI
имеются методы для генерирования всех элементов HTML-форм. В примере ниже показано, как можно вывести и обработать форму.
require "cgi"
def reverse_ramblings(ramblings)
if ramblings[0] == nil then return " " end
chunks = ramblings[0].split(/s+/)
chunks.reverse.join(" ")
end
cgi = CGI.new("html4")
cgi.out do
cgi.html do
cgi.body do
cgi.hi { "sdrawkcaB txeT" } +
cgi.b { reverse_ramblings(cgi['ramblings'])) +
cgi.form("action" => "/cgi-bin/rb/form.cgi") do
cgi.textarea("ramblings") { cgi['ramblings'] } + cgi.submit
end
end
end
end
Здесь отображается многострочное поле ввода, текст в котором разбивается на слова и выводится в обратном порядке. Так, если набрать фразу «This is a test», то после обработки вы увидите «test a is This». Метод form
класса CGI
принимает параметр method
— один из методов отправки формы, определенных в протоколе HTTP (GET
, POST
и т.д.). По умолчанию предполагается значение POST
.
В этом примере демонстрируется лишь малая толика элементов форм, которые могут встречаться на HTML-странице. Полный перечень вы найдете в любом руководстве по HTML.
- Обработка событий, генерируемых элементами управления формы
- 6.2.4. Обработка произвольного файла термов
- Глава 2. Определение методологических оснований креативного управления информационным обеспечением туризма
- 9.2.1 Общая информация
- 6.2. Обработка файлов термов
- 6.2.3. Формирование термов
- Покупатель на крючке. Руководство по созданию продуктов, формирующих привычки
- Сохранение информации о пользователях при миграции
- Информация заголовочной страницы (Database header)
- Форматы лид-магнитов
- Простейшие трансформации
- Информация страниц данных