Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.05.2016, 17:06
Интересующийся
Отправить личное сообщение для Remca Посмотреть профиль Найти все сообщения от Remca
 
Регистрация: 29.04.2016
Сообщений: 15

Вычисление без ввода данных
Проивзодятся вычисления по общей формуле 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>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
способы передачи данных на сервер без перезагрузки страницы linklee Общие вопросы Javascript 11 16.05.2016 19:42
Запоминание ввода данных amator0 Общие вопросы Javascript 6 12.04.2014 13:15
Вывести изображение после ввода URL без перезагрузки страницы Delfiniys Элементы интерфейса 5 18.10.2013 11:41
Получение данных со сторонней страницы без сервера и AJAX? alexandr_ftf Общие вопросы Javascript 3 09.09.2013 05:20
Отправка данных обработчику без перезагрузки dimjan4 AJAX и COMET 10 06.06.2009 21:53