можите исправить ошибку в первом раскрывающемся списке? (см. 1 рисунок)
js код такой:
<script language="JavaScript">
function GoPage()
{
document.calc.submit();
}
function Calculate()
{
switch(document.calc.typet.value)
{
case '1':
var d=document.calc.diametr.value/1000;
var s=document.calc.stenka.value/1000;
var sz=document.calc.dlina.value;
var pl=document.calc.material.value;
var p=3.1415;
var t=p*pl*s*(d-s);
document.result.m1.value=Math.round(t*100)/100;
document.result.mt.value=Math.round(t*sz*100)/100;
break;
case '2':
var a=parseFloat(document.calc.a.value);
var b=parseFloat(document.calc.b.value);
var s=document.calc.stenka.value;
var sz=document.calc.dlina.value;
var pl=document.calc.material.value;
var k,t;
if (pl=x50)
{k=1;}
else
{k=pl/7850;}
t=k*0.0157*s*(a+b-2.86*s);
document.result.m1.value=Math.round(t*100)/100;
document.result.mt.value=Math.round(t*sz*100)/100;
break;
case '3':
var sq=document.calc.sq.value;
var s=document.calc.stenka.value;
var sz=document.calc.dlina.value;
var pl=document.calc.material.value;
var k,t;
if (pl=='7850')
{k=1;}
else
{k=pl/7850;}
t=k*0.0157*s*(2*sq-2.86*s)
document.result.m1.value=Math.round(t*100)/100;
document.result.mt.value=Math.round(t*sz*100)/100;
break;
}
}
function ClearResult()
{
document.result.reset();
}
function Check()
{
var errStr='';
var frm=document.calc;
switch(frm.typet.value)
{
case '1':
if (frm.diametr.value=='' || !IsNumeric(frm.diametr.value))
{errStr='Поле диаметр содержит некорректное значение!\n';}
if (frm.stenka.value=='' || !IsNumeric(frm.stenka.value))
{
errStr+='Поле стенка содержит некорректное значение!\n';
}
else
{
if (frm.stenka.value > (frm.diametr.value/2))
{
errStr+='Стенка не может больше половины диаметра!\n';
frm.stenka.value='';
}
}
if (frm.dlina.value=='' || !IsNumeric(frm.dlina.value))
{errStr+='Поле длина содержит некорректное значение!';}
break;
case '2':
if (frm.a.value=='' || !IsNumeric(frm.a.value))
{errStr='Поле длина A содержит некорректное значение!\n';}
if (frm.b.value=='' || !IsNumeric(frm.b.value))
{errStr+='Поле длина B содержит некорректное значение!\n';}
if (frm.stenka.value=='' || !IsNumeric(frm.stenka.value))
{errStr+='Поле стенка содержит некорректное значение!\n';}
else
{
if (frm.stenka.value > (frm.a.value/2) || frm.stenka.value > (frm.b.value/2))
{
errStr+='Стенка не может больше половины высоты!\n';
frm.stenka.value='';
}
}
if (frm.dlina.value=='' || !IsNumeric(frm.dlina.value))
{errStr+='Поле длина содержит некорректное значение!';}
break;
case '3':
if (frm.sq.value=='' || !IsNumeric(frm.sq.value))
{errStr+='Поле длина стороны содержит некорректное значение!\n';}
if (frm.stenka.value=='' || !IsNumeric(frm.stenka.value))
{errStr+='Поле стенка содержит некорректное значение!\n';}
else
{
if (frm.stenka.value > (frm.sq.value/2))
{
errStr+='Стенка не может больше половины высоты!\n';
frm.stenka.value='';
}
}
if (frm.dlina.value=='' || !IsNumeric(frm.dlina.value))
{errStr+='Поле длина содержит некорректное значение!';}
break;
}
if (errStr!=='')
{
alert(errStr);
return false;
}
else
{
Calculate();
}
}
function IsNumeric(sText)
{
var ValidChars = "0123456789.";
var IsNumber=true;
var Char;
for (i = 0; i < sText.length && IsNumber == true; i++)
{
Char = sText.charAt(i);
if (ValidChars.indexOf(Char) == -1)
{
IsNumber = false;
}
}
return IsNumber;
}
</script>
HTML код такой:
<form action="" method="post" name="calc">
<table style="width: 455px; height: 168px;">
<tbody><tr>
<td>Тип трубы</td>
<td><select name="typet" onchange="GoPage();">
<option value="1" selected="selected">круглая</option>
<option value="2">прямоугольная</option>
<option value="3">квадратная</option>
</select></td>
</tr>
<tr>
<td>Материал</td>
<td><select name="material" onchange="ClearResult();">
<option value="912">Полиэтилен низкого давления</option>
<option value="935">Полиэтилен среднего давления</option>
<option value="950">Полиэтилен высокого давления</option>
</select></td>
</tr>
<tr>
<td>Диаметр,мм</td>
<td><input name="diametr" type="text"></td>
</tr>
<tr>
<td>Стенка, мм</td>
<td><input name="stenka" type="text"></td>
</tr>
<tr>
<td>Длина, м</td>
<td><input name="dlina" type="text"></td>
</tr>
<tr>
<td colspan="2" align="center"><input value="Расчет" onclick="Check();" type="button"></td>
</tr>
</tbody></table>
</form>
<form action="" method="post" name="result">
<table>
<tbody><tr>
<td>Масса 1 метра, кг</td>
<td><input name="m1" type="text"></td>
</tr>
<tr>
<td>Общая масса, кг</td>
<td><input name="mt" type="text"></td>
</tr>
</tbody></table>
</form>
рис.1 =
http://javascript.ru/forum/attachmen...1&d=1302699738
+ можно как нибудь
дополнить функцию дополнения поле, вместо существующих "из раскрывающегося списка материалов" (на выбор) ?
рис.2 =
http://javascript.ru/forum/attachmen...1&d=1302699933