Работа с формами
Цель работы
Научиться создавать на веб-странице формы, изучить возможные элементы формы и их свойства, а также способы доступа к элементам формы.
Задания
Задание 1
Проанализировать код для создания формы, представленный выше. Изучить правила создания элементов формы.
Задание 2
Создать форму, содержащую элементы (текстовая область, 2 текстовых поля, список, 4 радиокнопки, 5 флажков, командные кнопки).
Решение
Html
<form name="data">
<fieldset>
<legend>Форма 1</legend>
<textarea name="fuculty" cols="20" rows="4" resize="none">
Факультет информационных технологий
</textarea>
<p>
<input type="text" placeholder="Фамилия"><br>
<input type="text" placeholder="Имя">
</p>
<p>
Специальность:
<select name="speciality">
<option>ИСиТ</option>
<option>ПОИТ</option>
<option>ПОИБМС</option>
<option>ДЭиВИ</option>
</select>
</p>
<p>
Курс<br>
<input type="radio" name="course" value="1">1
<input type="radio" name="course" value="2">2
<input type="radio" name="course" value="3">3
<input type="radio" name="course" value="4">4
</p>
<p>
Предметы<br>
<input type="checkbox" name="subject" value="ОИТ">ОИТ
<input type="checkbox" name="subject" value="ОАиП">ОАиП
<input type="checkbox" name="subject" value="История">История
<input type="checkbox" name="subject" value="Физика">Физика
<input type="checkbox" name="subject" value="Математика">Математика
</p>
<p>
<input type="submit" value="Submit">
<input type="button" value="Reset">
</p>
<p>
<input type="button" value="Напечатать">
</p>
</fieldset>
</form>
Задание 3
Для кнопки «Напечатать» написать функцию, выводящую на страницу примерно такой текст (подчеркнутые фразы взять из элементов формы, используя обращение к ним по имени, а также по номеру элемента):
Факультет информационных технологий
Студент Фамилия специальность ИСиТ курс 1 должен сдавать следующие предметы:
- ОИТ
- История
- Математика
- ОИТ
- История
- Математика
Решение
Html
<input type="button" value="Напечатать" onclick="printText()">
Java Script
function printText() {
let speciality = document.forms[1].speciality
let course = document.forms[1].course
let subject = document.forms[1].subject
for(let i = 0; i < speciality.length; i++)
if(speciality[i].selected)
speciality = speciality[i].innerHTML
for(let i = 0; i < course.length; i++)
if(course[i].checked)
course = course[i].value
let subjectList = '<ul>'
for(let i = 0; i < subject.length; i++)
if(subject[i].checked)
subjectList += ('<li>' + subject[i].value + '</li>')
subjectList += '</ul>'
document.write('<span class="printText">' +
document.forms[1].fuculty.value + '</span>'
+ 'Студент ' + document.forms[1].elements[2].value
+ ' специальность "' + speciality
+ '" курс ' + course + ' должен сдавать следующие предметы:<br>'
+ subjectList)
}
Задание 4
Создать еще одну форму с одним элементом – списком. Заполнить список предметами, выбранными на первой форме. Можно придумать свою форму с разными элементами. Это приветствуется.
Решение
Html
<form name="data">
<fieldset>
<legend>Форма 3</legend>
<ul>
</ul>
</fieldset>
</form>
Java Script
let ul = document.querySelector('ul')
let subject = document.forms[0].subject
for(let i = 0; i < subject.length; i++)
if(subject[i].checked){
let li = document.createElement('li')
li.innerHTML = subject[i].value
ul.appendChild(li)
}