Проивзодятся вычисления по общей формуле L=l1+l2+l3. К l1,l2,l3 я написал скрипты и формы. Но проблема в том что значения которые получаются в итоге не копируются для вычисления общего L. Чтобы посчитать L общее,пользователю не нужно вводить данных потому что полученные результаты должны скопироваться для вычисления L общего.
Как сделать так чтобы значения l1,l2,l3 сами копировались бы в поле, и давали бы вычисление L общего.
По формуле L это общая длина всех колонн, а l1,l2,l3 длины соответсвенно нижней,средней и верхней секции. Помогите пожалуйста я туплю.
Скрипты и форму я выкладываю:
<script> <!-- запрещаем пользователю вводить буквы -->
function proverka(input) {
var value = input.value;
var rep = /[-;":'a-zA-Zа-яА-Я\\=`ё/\*++!@#$%\^&_№?><]/;
if (rep.test(value)) {
value = value.replace(rep, '');
input.value = value;
}
}
</script>
<!-- задаю для всех div-ов класс price -->
<style>
.price {
display:inline-block;
width:400px;
color:blue;
}
</style>
<script> <!-- вычисление подрасчёта 2.1 -->
function areaRectangle2(){
var Q1=document.forma1.t9.value||0;
var k=document.forma1.t10.value||0;
var q1=document.forma1.t11.value||0;
if ( (Q1 == 0) || (k == 0) || (q1 == 0) ) {
alert('Входные данные не могут быть равны 0');
return;
}
if ( (Q1 < 0) || (k < 0) || (q1 < 0)) {
alert('Входные данные не могут быть меньше 0');
return;
}
var l1=Q1/(k*q1||0);
document.forma1.res2.value=l1;
}
</script>
<script> <!-- вычисление подрасчёта 2.2 -->
function areaRectangle3(){
var Q1=document.forma1.t12.value||0;
var Q2=document.forma1.t13.value||0;
var k=document.forma1.t14.value||0;
var q2=document.forma1.t15.value||0;
if ( (Q1 == 0) || (Q2 == 0) || (k == 0) || (q2 == 0) ) {
alert('Входные данные не могут быть равны 0');
return;
}
if ( (Q2 == 0) || (Q2 < 0) || (k < 0) || (q2 < 0)) {
alert('Входные данные не могут быть меньше 0');
return;
}
if ( Q2 < Q1 ) {
alert('Q2 должно быть больше Q1');
return;
}
var l2=(Q2-Q1)/(k*q2||0);
document.forma1.res3.value=l2;
}
</script>
<script> <!-- вычисление подрасчёта 2.3 -->
function areaRectangle4(){
var Q2=document.forma1.t16.value||0;
var Q3=document.forma1.t17.value||0;
var k=document.forma1.t18.value||0;
var q3=document.forma1.t19.value||0;
if ( (Q3 == 0) || (k == 0) || (q3 == 0) ) {
alert('Входные данные не могут быть равны 0');
return;
}
if ( (Q3 < 0) || (k < 0) || (q3 < 0)) {
alert('Входные данные не могут быть меньше 0');
return;
}
if ( Q3 < Q2 ) {
alert('Q3 должно быть больше Q2');
return;
}
var l3=(Q3-Q2)/(k*q3||0);
document.forma1.res4.value=l3;
}
</script>
<script>
onload=function(){
document.getElementById('t9').oninput=function(){ //из поле t9 берётся значение
document.getElementById('t12').value=this.value; //и копируется в поле t12, потому в формулах есть повторения.
document.getElementById('t13').oninput=function(){ //из поле t9 берётся значение
document.getElementById('t16').value=this.value; //и копируется в поле t12, потому в формулах есть повторения.
}
}
document.getElementById('t10').oninput=function(){ //из поле t10 берётся значение
document.getElementById('t14').value=this.value; //и копируется в поле t14, t18 потому в формулах есть повторения.
document.getElementById('t18').value=this.value;
}
}
document.getElementById('res2').oninput=function(){ //из поле t9 берётся значение
document.getElementById('res21').value=this.value; //и копируется в поле t12, потому в формулах есть повторения.
document.getElementById('res3').oninput=function(){ //из поле t9 берётся значение
document.getElementById('res31').value=this.value; //и копируется в поле t12, потому в формулах есть повторения.
document.getElementById('res4').oninput=function(){ //из поле t9 берётся значение
document.getElementById('res41').value=this.value; //и копируется в поле t12, потому в формулах есть повторения.
}
}
}
</script>
<!-- тот же самый скрипт копирования из одного в другое текстовое поле может быть написан в нескольких вариантах:
---------------------------------
1. $(document).ready(function(){
$('#t9').on('input',function(){
$('#t12').val($(this).val());
});
});
--------------------------------
2. function _(id){return document.getElementById(id);}
onload=function(){
_('t9').oninput=function(){_('t12').value=this.value;}
}
-------------------------------
-->
<form name="forma1" style="background-color:#44944A;"> <!-- поменяю цвет формы -->
<div id="resizable">
<table align="center">
<p align="center">Общая длина всех колонн</p>
<tr><td height="40px">
<div class="price">Длина колонны нижней секции;</div><input name="res21" id="res21" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)">
</td>
</tr>
<tr><td height="40px">
<div class="price">Длина колонны средней секции;</div><input name="res31" id="res31" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)">
</td>
</tr>
<tr><td height="40px">
<div class="price">Длина колонны верхней секции;</div><input name="res41" id="res41" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)">
</td>
</tr>
<tr><td>
<input type="button" name="button" value="Вычислить" onClick="areaRectangle ();">
<input type="text" name="res5" size="10">
</td></tr>
</table>
<!--"подрасчёт 2.1"-->
<table align="center">
<tr><td height="40px">
<p align="center">Длина колонны нижней секции;</p>
<tr><td height="40px">
<div class="price">Страгивающая нагрузка на резьбовые соединения труб диаметром 60мм;</div><input id="t9" name="t9" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)">
</td>
</tr>
<tr><td height="40px">
<div class="price">Коэффициент запаса;</div><input id="t10" name="t10" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)">
</td>
</tr>
<tr><td height="40px">
<div class="price">Вес 1метра труб с учетом муфт диаметром 60мм;</div><input name="t11" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)">
</td>
</tr>
<tr><td>
<input type="button" name="button" value="Вычислить" onClick="areaRectangle2();">
<input type="text" name="res2" size="10" id="res2">
</td></tr>
</table>
<table align="center">
<!--"подрасчёт 2.2"-->
<p align="center">Длина колонны средней секции;</p>
<tr><td height="40px">
<div class="price">Страгивающая нагрузка на резьбовые соединения труб диаметром 60мм;</div><input id="t12" name="t12" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)">
</td>
</tr>
<tr><td height="40px">
<div class="price">Страгивающая нагрузка на резьбовые соединения труб диаметром 73 мм ;</div><input id="t13" name="t13" type="text" size="4" maxlength="8" onkeyup="return proverka(this)">
</td>
</tr>
<tr><td height="40px">
<div class="price">Коэффициент запаса;</div><input id="t14" name="t14" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)">
</td>
</tr>
<tr><td height="40px">
<div class="price">Вес 1метра труб диаметром 73 мм;</div><input name="t15" type="text" size="4" maxlength="8" onkeyup="return proverka(this)">
</td>
</tr>
<tr><td>
<input type="button" name="button" value="Вычислить" onClick="areaRectangle3();">
<input type="text" name="res3" size="10" id="res3">
</td></tr>
</table>
<table align="center">
<!--"подрасчёт 2.3"-->
<tr><td height="40px">
<p align="center">Длина колонны верхней секции;</p>
<tr><td height="40px">
<div class="price">Страгивающая нагрузка на резьбовые соединения труб диаметром 73мм;</div><input id="t16" name="t16" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)">
</td>
</tr>
<tr><td height="40px">
<div class="price">Страгивающая нагрузка на резьбовые соединения труб диаметром 89 мм ;</div><input type="text" align="right" name="t17" size="4" maxlength="8" onkeyup="return proverka(this)">
</td>
</tr>
<tr><td height="40px">
<div class="price">Коэффициент запаса;</div><input id="t18" name="t18" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)">
</td>
</tr>
<tr><td height="40px">
<div class="price">Вес 1метра труб диаметром 89 мм;</div><input name="t19" type="text" size="4" maxlength="8" onkeyup="return proverka(this)">
</td>
</tr>
<tr><td>
<input type="button" name="button" value="Вычислить" onClick="areaRectangle4();">
<input type="text" name="res4" size="10" id="res4">
</td></tr>
</table>
</div>
<br>
</form>