Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Web-программирование. Интерактивность статических Интернет-сайтов с применением форм. Учебное пособие для СПО
.pdf
41
</SCRIPT>
</TD></TR><TR valign=top>
<TD colspan=2 align=center><B>Отчет по обработке формы</B></TD>
</TR><TR valign=top>
<TD colspan=2>
<TEXTAREA name=fres cols=70 rows=30 readonly>
Отсутствует активация...
</TEXTAREA>
</TD></TR>
</TABLE></FORM>
<SCRIPT language=JavaScript>
var n, znres, opres, eznhdn, ezntp1, ezntp2, ezntp3, ezntp,
ezntob, eznps, eznfl, eopods, imns, eopodv, iopmns, imnv, iopmnv;
// Расчет формы
function rasf()
{
document.title = 'Программа 4: Результаты расчетов';
document.fnam.fres.value = "\t\t\tРасчет параметров";
znres = 0;
opres = document.fnam.fres.value;
opres = opres+"\n\t\t\tЭлементы исходных данных";
// Обработка данных из скрытого элемента
opres = opres+"\n\tРезультаты обработки скрытого элемента";
eznhdn = new String(document.fnam.hdn.value);
opres = opres+"\n"+eznhdn+".";
// Обработка данных из текстовых полей исходных данных
opres = opres+"\n\tРезультаты обработки текстовых полей";
ezntp1 = parseInt(document.fnam.tp1.value);
if (document.fnam.tp1.value=="")
{
ezntp1 = 0;
ezntp1 = "Информация для элемента 1 отсутствует";
}
opres = opres+"\nЭлемент 1 - "+ezntp1+".";
znres = znres+ezntp1;
ezntp2 = parseInt(document.fnam.tp2.value);
if (document.fnam.tp2.value=="")
{
ezntp2 = 0;
ezntp2 = "Информация для элемента 2 отсутствует";
}
opres = opres+"\nЭлемент 2 - "+ezntp2+".";
znres = znres+ezntp2;
ezntp3 = parseInt(document.fnam.tp3.value);
if (document.fnam.tp3.value=="")
{
ezntp3 = 0;
ezntp3 = "Информация для элемента 3 отсутствует";
}
opres = opres+"\nЭлемент 3 - "+ezntp3+".";
znres = znres+ezntp3;
opres = opres+"\n\t\t\tЭлементы результатов";

42
// Обработка данных для текстового поля (сумма чисел из текстовых
полей)
opres = opres+"\n\tРезультаты обработки для текстового поля";
ezntp = ezntp1+ezntp2+ezntp3;
document.fnam.tp.value = "Сумма чисел: "+ezntp;
opres = opres+"\n"+document.fnam.tp.value;
// Обработка данных для текстовой области (формулировка задачи)
opres = opres+"\n\tРезультаты обработки для текстовой области";
ezntob = "В программе осуществляется нахождение суммы трех целых
чисел: "+ezntp1+","+ezntp2+" и "+ezntp3+".";
document.fnam.tob.value = ezntob;
// Обработка данных из загрузки файла
opres = opres+"\n\tРезультаты обработки загружаемого файла";
eznfl = new String(document.fnam.fl.value);
if (document.fnam.fl.value=="")
{
eznfl = "Информация о загруженном файле отсутствует";
}
opres = opres+"\n"+eznfl+".";
// Обработка данных для поля пароля
opres = opres+"\n\tРезультаты обработки для поля пароля";
eznps = "Summa_chisel";
document.fnam.ps.value = eznps;
opres = opres+"\n"+document.fnam.ps.value+".";
// Результаты обработки для однозначного списка
vods = 0;
opres = opres+"\n\tРезультаты обработки для однозначного списка";
for (n=1;n<document.fnam.ods.length;n++)
{
if
(((n==1) && (ezntp1>0)) ||
((n==2) && (ezntp1==0)) ||
((n==3) && (ezntp1<0)))
{
vods++;
document.fnam.ods[n].selected = true;
eopods = new String(opods[n]);
opres = opres+"\n"+eopods+".";
}
}
if (vods==0)
{
opres = opres+"\nНе выделен элемент однозначного списка.";
}
// Результаты обработки для множественного списка
vmns = 0;
opres = opres+"\n\tРезультаты обработки для множественного
списка";
imns = 0;
for (n=0;n<document.fnam.mns.length;n++)
{
if
(((n==0) && (ezntp1>ezntp2)) ||

43
((n==1) && (ezntp3>ezntp2)) ||
((n==2) && (ezntp1<ezntp2)) ||
((n==3) && (ezntp3<ezntp1)))
{
vmns++;
imns++;
document.fnam.mns[n].selected = true;
eopmns = new String(opmns[n]);
opres = opres+"\n"+imns+". "+eopmns+".";
}
}
if (vmns==0)
{
opres = opres+"\nНе выделены элементы множественного списка.";
}
// Результаты обработки для однозначного выбора
vodv = 0;
opres = opres+"\n\tРезультаты обработки для однозначного выбора";
for (n=0;n<document.fnam.odv.length;n++)
{
if
(((n==0) && (ezntp1+ezntp2>0)) ||
((n==1) && (ezntp1+ezntp2==0)) ||
((n==2) && (ezntp1+ezntp2<0)))
{
vodv++;
document.fnam.odv[n].checked = true;
eopodv = new String(opodv[n]);
opres = opres+"\n"+eopodv+".";
}
}
if (vodv==0)
{
opres = opres+"\nНе выделен элемент однозначного выбора.";
}
// Результаты обработки для множественного выбора
vmnv = 0;
opres = opres+"\n\tРезультаты обработки для множественного
выбора";
imnv = 0;
for (n=0;n<document.fnam.mnv.length;n++)
{
if
(((n==0) && (ezntp1*ezntp2>0)) ||
((n==1) && (ezntp1*ezntp2<0)) ||
((n==2) && (ezntp1*ezntp3>0)) ||
((n==3) && (ezntp2*ezntp3>0)))
{
vmnv++;
imnv++;
document.fnam.mnv[n].checked = true;
eopmnv = new String(opmnv[n]);
opres = opres+"\n"+imnv+". "+eopmnv+".";

44
}
}
if (vmnv==0)
{
opres = opres+"\nНе выделены элементы множественного выбора.";
}
document.fnam.fres.value = opres;
document.fnam.ras.disabled = true;
document.fnam.del.disabled = false;
document.fnam.tp1.disabled = true;
document.fnam.tp2.disabled = true;
document.fnam.tp3.disabled = true;
document.fnam.tob.disabled = true;
document.fnam.ps.disabled = true;
document.fnam.fl.disabled = true;
}
function delf()
{
document.title = 'Программа 4: Исходные данные';
document.fnam.ods[0].selected = true;
for (n=0;n<document.fnam.mns.length;n++)
{
document.fnam.mns[n].selected = false;
}
for (n=0;n<document.fnam.odv.length;n++)
{
document.fnam.odv[n].checked = false;
}
for (n=0;n<document.fnam.mnv.length;n++)
{
document.fnam.mnv[n].checked = false;
}
document.fnam.ras.disabled = false;
document.fnam.del.disabled = true;
document.fnam.tp1.disabled = false;
document.fnam.tp2.disabled = false;
document.fnam.tp3.disabled = false;
document.fnam.tob.disabled = false;
document.fnam.ps.disabled = false;
document.fnam.fl.disabled = false;
document.fnam.tp1.value = "1";
document.fnam.tp2.value = "2";
document.fnam.tp3.value = "3";
document.fnam.tp.value = "Отсутствуют результаты";
document.fnam.tob.value = "Отсутствуют результаты";
document.fnam.ps.value = "Отсутствуют результаты";
document.fnam.fl.value = "";
document.fnam.fres.value = "\tОтсутствует активация...";
}
</SCRIPT>
</BODY>
</HTML>

45
2.5. Одномерная информационная система реализации расчетов при
обработке форм статических Интернет-страниц с автоматизированной
активацией элементов исходных данных
Программа предназначена для реализации пользователем в рамках единой формы
статической Интернет-страницы операций по указанию значений исходных данных с
использованием различных элементов формы с целью выполнения определенных расчетных
операций над данными элементами и вывода значений результатов в рамках текстовой
области исходной формы. Активация расчетных операций осуществляется в автоматическом
режиме с изменением значений элементов исходных данных, представленных в виде
различных компонентов формы, для наименований и значений элементов однозначного и
множественного списков и выбора используются отдельные одномерные массивы,
взаимосвязь между которыми осуществляется с использованием индексации элементов
массивов.
Рис. 12. Форма статической Интернет-страницы со значениями исходных данных

46
Рис. 13. Вывод результатов обработки формы и расчетов в рамках единой статической
Интернет-страницы

47
Исходный код статической Интернет-страницы имеет следующий вид:
<HTML>
<HEAD>
<TITLE>Программа 5: Исходные данные</TITLE>
<SCRIPT language=JavaScript>
var n;
opods = new Array(4);
znods = new Array(5);
opmns = new Array(4);
znmns = new Array(4);
opodv = new Array(4);
znodv = new Array(4);
opmnv = new Array(4);
znmnv = new Array(4);
// Однозначный список
opods[0] = 'Не выбран '; znods[0] = 0;
opods[1] = 'Вариант 11'; znods[1] = 11;
opods[2] = 'Вариант 12'; znods[2] = 12;
opods[3] = 'Вариант 13'; znods[3] = 13;
opods[4] = 'Вариант 14'; znods[4] = 14;
// Множественный список
opmns[0] = 'Вариант 21'; znmns[0] = 21;
opmns[1] = 'Вариант 22'; znmns[1] = 22;
opmns[2] = 'Вариант 23'; znmns[2] = 23;
opmns[3] = 'Вариант 24'; znmns[3] = 24;
// Однозначный выбор
opodv[0] = 'Вариант 31'; znodv[0] = 31;
opodv[1] = 'Вариант 32'; znodv[1] = 32;
opodv[2] = 'Вариант 33'; znodv[2] = 33;
opodv[3] = 'Вариант 34'; znodv[3] = 34;
// Множественный выбор
opmnv[0] = 'Вариант 41'; znmnv[0] = 41;
opmnv[1] = 'Вариант 42'; znmnv[1] = 42;
opmnv[2] = 'Вариант 43'; znmnv[2] = 43;
opmnv[3] = 'Вариант 44'; znmnv[3] = 44;
</SCRIPT>
<FORM name=fnam method=post>
<TABLE border=1 bordercolor=green cellspacing=0>
<TR align=center>
<TD colspan=2><B>Исходные данные</B></TD>
</TR>
<TR valign=top>
<TD>Скрытый элемент</TD>
<TD>
<INPUT type=hidden name=hdn value="Программа 5"></INPUT>
</TD>
</TR>
<TR valign=top>
<TD>Текстовое поле</TD>
<TD><INPUT type=text name=tp value=01
onChange='fobr();'></INPUT></TD>
</TR>
<TR valign=top>

48
<TD>Текстовая область</TD>
<TD><TEXTAREA rows=5 cols=40 name=tob onChange='fobr();'>Введите
текст</TEXTAREA></TD>
</TR>
<TR valign=top>
<TD>Поле пароля</TD>
<TD><INPUT type=password name=ps value="Введите пароль" onChange=
'fobr();'></INPUT></TD>
</TR>
<TR valign=top>
<TD>Загрузка файла</TD>
<TD><INPUT type=file name=fl onChange='fobr();'></INPUT></TD>
</TR>
<TR valign=top>
<TD>Однозначный список</TD>
<TD>
<SELECT name=ods onChange='fobr();'>
<SCRIPT language=JavaScript>
for (n=0;n<opods.length;n++)
{
document.writeln("<OPTION value="+n+">"+opods[n]+"</OPTION>");
}
</SCRIPT>
</SELECT></TD></TR>
<TR valign=top>
<TD>Множественный список</TD>
<TD>
<SELECT name=mns multiple onChange='fobr();'>
<SCRIPT language=JavaScript>
for (n=0;n<opmns.length;n++)
{
document.writeln("<OPTION value="+n+">"+opmns[n]+"</OPTION>");
}
</SCRIPT>
</SELECT>
</TD>
</TR>
<TR valign=top>
<TD>Однозначный выбор</TD>
<TD>
<SCRIPT language=JavaScript>
for (n=0;n<opodv.length;n++)
{
document.writeln("<INPUT type=radio name=odv value="+n+" onClick=
'fobr();'>"+opodv[n]+"</INPUT><BR>");
}
</SCRIPT>
</TD>
</TR>
<TR valign=top>
<TD>Множественный выбор</TD>
<TD>
<SCRIPT language=JavaScript>

49
for (n=0;n<opmnv.length;n++)
{
document.writeln("<INPUT type=checkbox name=mnv value="+n+"
onClick='fobr();'>"+opmnv[n]+"</INPUT><BR>");
}
</SCRIPT>
</TD>
</TR>
<TR align=center>
<TD colspan=2 align=center>
<INPUT type=reset name=del value="Отмена" onClick="delf();"
disabled></INPUT>
</TD>
</TR>
<TR valign=top align=center>
<TD colspan=2><B>Результаты расчетов</B></TD>
</TR>
<TR valign=top>
<TD colspan=2>
<TEXTAREA name=fres cols=70 rows=30 readonly>
Отсутствует активация...
</TEXTAREA>
</TD>
</TR>
</TABLE>
</FORM>
<SCRIPT language=JavaScript>
var n, opres, znres, eznhdn, ezntp, ezntob, eznps, eznfl, eznods,
vznmns, eznodv, vznmnv, vods, eopods, eznods, vmns, eopmns,
eznmns, vodv, eopodv, eznodv, vmnv, eopmnv, eznmnv;
// Расчет формы
function fobr()
{
document.title = 'Программа 5: Результаты расчетов';
document.fnam.fres.value = "\tРасчет параметров";
ezntp = 0;
eznods = 0;
vznmns = 0;
eznodv = 0;
vznmnv = 0;
znres = 0;
opres = document.fnam.fres.value;
// Обработка данных из скрытого элемента
opres = opres+"\n\tРезультаты обработки скрытого элемента";
eznhdn = new String(document.fnam.hdn.value);
opres = opres+"\n"+eznhdn+".";
// Обработка данных из текстового поля
opres = opres+"\n\tРезультаты обработки текстового поля";
ezntp = parseInt(document.fnam.tp.value);
if (document.fnam.tp.value=="")
{
ezntp = 0;
ezntp = "Информация в текстовом поле отсутствует";

50
}
opres = opres+"\n"+ezntp+".";
znres = znres+ezntp;
// Обработка данных из текстовой области
opres = opres+"\n\tРезультаты обработки текстовой области";
ezntob = new String(document.fnam.tob.value);
if (document.fnam.tob.value=="")
{
ezntob = "Информация в текстовой области отсутствует";
}
opres = opres+"\n"+ezntob+".";
// Обработка данных из поля пароля
opres = opres+"\n\tРезультаты обработки поля пароля";
eznps = new String(document.fnam.ps.value);
if (document.fnam.ps.value=="")
{
eznps = "Информация в поле пароля отсутствует";
}
opres = opres+"\n"+eznps+".";
// Обработка данных из загрузки файла
opres = opres+"\n\tРезультаты обработки загружамого файла";
eznfl = new String(document.fnam.fl.value);
if (document.fnam.fl.value=="")
{
eznfl = "Информация о загруженном файле отсутствует";
}
opres = opres+"\n"+eznfl+".";
// Обработка данных из однозначного списка
opres = opres+"\n\tРезультаты обработки однозначного списка";
vods = 0;
for (n=0;n<document.fnam.ods.length;n++)
{
if (document.fnam.ods[n].selected)
{
vods++;
eopods = new String(opods[n]);
eznods = parseInt(znods[n]);
opres = opres+"\n"+eopods+" - "+eznods+".";
znres = znres+eznods;
}
}
if (vods==0)
{
opres = opres+"\nНе выделен элемент однозначного списка.";
}
// Обработка данных из множественного списка
vmns = 0;
opres = opres+"\n\tРезультаты обработки множественного списка";
imns = 0;
iznmns = 0;
eopmns = "";
for (n=0;n<document.fnam.mns.length;n++)
{
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
