Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Web-программирование. Интерактивность статических Интернет-сайтов с применением форм. Учебное пособие для СПО
.pdf
51
if (document.fnam.mns[n].selected)
{
vmns++;
imns++;
eopmns = new String(opmns[n]);
eznmns = parseInt(znmns[n]);
opres = opres+"\n"+imns+". "+eopmns+" - "+eznmns+".";
znres = znres+eznmns;
iznmns = iznmns+eznmns;
}
}
if (vmns==0)
{
opres = opres+"\nНе выделены элементы множественного списка.";
}
else
{
opres = opres+"\nИтого по множественному списку: "+iznmns+".";
}
// Обработка данных из однозначного выбора
opres = opres+"\n\tРезультаты обработки однозначного выбора";
vodv = 0;
for (n=0;n<document.fnam.odv.length;n++)
{
if (document.fnam.odv[n].checked)
{
vodv++;
eopodv = new String(opodv[n]);
eznodv = parseInt(znodv[n]);
opres = opres+"\n"+eopodv+" - "+eznodv+".";
znres = znres+eznodv;
}
}
if (vodv==0)
{
opres = opres+"\nНе выделен элемент однозначного выбора.";
}
// Обработка данных из множественного выбора
vmnv = 0;
opres = opres+"\n\tРезультаты обработки множественного выбора";
imnv = 0;
iznmnv = 0;
eopmnv = "";
for (n=0;n<document.fnam.mnv.length;n++)
{
if (document.fnam.mnv[n].checked)
{
vmnv++;
imnv++;
eopmnv = new String(opmnv[n]);
eznmnv = parseInt(znmnv[n]);
opres = opres+"\n"+imnv+". "+eopmnv+" - "+eznmnv+".";
znres = znres+eznmnv;

52
iznmnv = iznmnv+eznmnv;
}
}
if (vmnv==0)
{
opres = opres+"\nНе выделены элементы множественного выбора.";
}
else
{
opres = opres+"\nИтого по множественному выбору: "+iznmnv+".";
}
opres = opres+"\nИтоговая сумма: "+ezntp+"+"+eznods+"+"+
iznmns+"+"+eznodv+"+"+iznmnv+" = "+znres+".";
document.fnam.fres.value = opres;
document.fnam.del.disabled = false;
}
function delf()
{
document.title = 'Программа 5: Исходные данные';
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.del.disabled = true;
document.fnam.tp.value = "01";
document.fnam.tob.value = "Введите текст";
document.fnam.ps.value = "Введите пароль";
document.fnam.fl.value = "";
document.fnam.fres.value = "\tОтсутствует активация...";
}
</SCRIPT>
</BODY>
</HTML>
2.6. Двумерная информационная система реализации расчетов при обработке
форм статических Интернет-страниц с автоматизированной активацией
элементов исходных данных
Программа предназначена для реализации в рамках единой формы статической
Интернет-страницы расчетных алгоритмов с применением двухуровневой системы указания
значений исходных данных, при этом в качестве элементов первого уровня выступают
кнопки, тогда как элементы второго уровня представляют собой различные компоненты
формы. Активация расчетных операций осуществляется в автоматическом режиме в

53
соответствии с изменениями значений элементов исходных данных согласно двухуровневой
иерархии объектов, при этом для наименований и значений элементов первого уровня
отводятся одномерные массивы, тогда как для наименований и значений определенных
компонентов второго уровня, то есть однозначного и множественного списков и выбора,
применяются отдельные одномерные массивы, взаимосвязь между которыми осуществляется
с использованием индексации элементов массивов.
Рис. 14. Начальный вид единой формы статической Интернет-страницы

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

55
Исходный код программы имеет следующий вид:
<HTML><HEAD>
<TITLE>Программа 6: Исходные данные</TITLE>
<SCRIPT language=JavaScript>
var n;
opbtn = new Array(3);
znbtn = new Array(3);
opods = new Array(4);
znods = new Array(5);
for (n=0;n<znods.length;n++)
{
znods[n] = new Array(3);
}
opmns = new Array(4);
znmns = new Array(4);
for (n=0;n<znmns.length;n++)
{
znmns[n] = new Array(3);
}
opodv = new Array(4);
znodv = new Array(4);
for (n=0;n<znodv.length;n++)
{
znodv[n] = new Array(3);
}
opmnv = new Array(4);
znmnv = new Array(4);
for (n=0;n<znmnv.length;n++)
{
znmnv[n] = new Array(3);
}
// Кнопки
opbtn[0] = 'Кнопка 1'; znbtn[0] = 1;
opbtn[1] = 'Кнопка 2'; znbtn[1] = 2;
opbtn[2] = 'Кнопка 3'; znbtn[2] = 3;
// Однозначный список
opods[0] = 'Не выбран '; znods[0][0] = 0; znods[0][1] = 0;
znods[0][2] = 0;
opods[1] = 'Вариант 11'; znods[1][0] = 111; znods[1][1] = 211;
znods[1][2] = 311;
opods[2] = 'Вариант 12'; znods[2][0] = 112; znods[2][1] = 212;
znods[2][2] = 312;
opods[3] = 'Вариант 13'; znods[3][0] = 113; znods[3][1] = 213;
znods[3][2] = 313;
opods[4] = 'Вариант 14'; znods[4][0] = 114; znods[4][1] = 214;
znods[4][2] = 314;
// Множественный список
opmns[0] = 'Вариант 21'; znmns[0][0] = 121; znmns[0][1] = 221;
znmns[0][2] = 321;
opmns[1] = 'Вариант 22'; znmns[1][0] = 122; znmns[1][1] = 222;
znmns[1][2] = 322;
opmns[2] = 'Вариант 23'; znmns[2][0] = 123; znmns[2][1] = 223;
znmns[2][2] = 323;

56
opmns[3] = 'Вариант 24'; znmns[3][0] = 124; znmns[3][1] = 224;
znmns[3][2] = 324;
// Однозначный выбор
opodv[0] = 'Вариант 31'; znodv[0][0] = 131; znodv[0][1] = 231;
znodv[0][2] = 331;
opodv[1] = 'Вариант 32'; znodv[1][0] = 132; znodv[1][1] = 232;
znodv[1][2] = 332;
opodv[2] = 'Вариант 33'; znodv[2][0] = 133; znodv[2][1] = 233;
znodv[2][2] = 333;
opodv[3] = 'Вариант 34'; znodv[3][0] = 134; znodv[3][1] = 234;
znodv[3][2] = 334;
// Множественный выбор
opmnv[0] = 'Вариант 41'; znmnv[0][0] = 141; znmnv[0][1] = 241;
znmnv[0][2] = 341;
opmnv[1] = 'Вариант 42'; znmnv[1][0] = 142; znmnv[1][1] = 242;
znmnv[1][2] = 342;
opmnv[2] = 'Вариант 43'; znmnv[2][0] = 143; znmnv[2][1] = 243;
znmnv[2][2] = 343;
opmnv[3] = 'Вариант 44'; znmnv[3][0] = 144; znmnv[3][1] = 244;
znmnv[3][2] = 344;
</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="Программа 6"></INPUT></TD>
</TR>
<TR valign=top>
<INPUT type=hidden name=btnobr value=-1></INPUT>
<TD>Кнопки</TD>
<TD>
<SCRIPT language=JavaScript>
for (n=0;n<opbtn.length;n++)
{
document.writeln("<INPUT type=button name=btn value="+(n+1)+"
onClick='document.fnam.btnobr.value="+n+"; fobr();'> "+opbtn[n]+
"</INPUT><BR>");
}
</SCRIPT>
</TD>
</TR>
<TR valign=top>
<TD>Текстовое поле</TD>
<TD><INPUT type=text name=tp value=01 onChange='fobr();'></INPUT>
</TD>
</TR>
<TR valign=top>
<TD>Текстовая область</TD>
<TD><TEXTAREA rows=5 cols=40 name=tob onChange='fobr();'>Введите
текст</TEXTAREA></TD>

57
</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>
for (n=0;n<opmnv.length;n++)
{
document.writeln("<INPUT type=checkbox name=mnv value="+n+"
onClick='fobr();'>"+opmnv[n]+"</INPUT><BR>");
}

58
</SCRIPT>
</TD>
</TR>
<TR align=center>
<TD colspan=2 align=center>
<INPUT type=reset name=del value="Отмена" onClick="delf();">
</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, inbtn, eopbtn, eznbtn, ezntob,
eznps, eznfl, eznods, vznmns, eznodv, vznmnv, vods, eopods,
eznods, vmns, eopmns, eznmns, vodv, eopodv, eznodv, vmnv, eopmnv,
eznmnv;
// Расчет формы
function fobr()
{
document.title = 'Программа 6: Результаты расчетов';
document.fnam.fres.value = "\tРасчет параметров";
inbtn = -1;
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Результаты обработки нажатия кнопки";
inbtn = parseInt(document.fnam.btnobr.value);
if (inbtn==-1)
{
opres = opres+"\nРезультаты выбора кнопки отсуствуют";
opres = opres+"\n\tВыберите кнопку!";
document.fnam.fres.value = opres;
exit;
}

59
eopbtn = opbtn[inbtn];
eznbtn = znbtn[inbtn];
opres = opres+"\n"+eopbtn+" - "+eznbtn+".";
// Обработка данных из текстового поля
opres = opres+"\nРезультаты выбора текстового поля";
ezntp = parseInt(document.fnam.tp.value);
if (document.fnam.tp.value=="")
{
ezntp = 0;
ezntp = "Информация в текстовом поле отсутствует";
}
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][inbtn]);
opres = opres+"\n"+eopods+" - "+eznods+".";
znres = znres+eznods;
}
}
if (vods==0)
{

60
opres = opres+"\nВыбор из однозначного списка отсутствует.";
}
// Обработка данных из множественного списка
opres = opres+"\n\tРезультаты обработки множественного списка";
vmns = 0;
vznmns = 0;
eopmns = "";
for (n=0;n<document.fnam.mns.length;n++)
{
if (document.fnam.mns[n].selected)
{
vmns++;
eopmns = new String(opmns[n]);
eznmns = parseInt(znmns[n][inbtn]);
opres = opres+"\n"+vmns+". "+eopmns+" - "+eznmns+".";
znres = znres+eznmns;
vznmns = vznmns+eznmns;
}
}
if (vmns==0)
{
opres = opres+"\nВыбор из множественного списка отсутствует.";
}
else
{
opres = opres+"\nИтого по множественному списку: "+vznmns+".";
}
// Обработка данных из однозначного выбора
opres = opres+"\n\tРезультаты обработки однозначного выбора";
vodv = 0;
for (n=0;n<document.fnam.odv.length;n++)
{
if (document.fnam.odv[n].checked)
{
vodv++;
eopodv = new String(opodv[n]);
eznodv = parseInt(znodv[n][inbtn]);
opres = opres+"\n"+eopodv+" - "+eznodv+".";
znres = znres+eznodv;
}
}
if (vodv==0)
{
opres = opres+"\nВыбор из однозначного выбора отсутствует.";
}
// Обработка данных из множественного выбора
opres = opres+"\n\tРезультаты обработки множественного выбора";
vmnv = 0;
vznmnv = 0;
eopmnv = "";
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
