| 
 умножить таблицу на число Господа, прошу помощи. Есть форма: <form action=" " method="post"> <input type="text" name="rashod" id="rashod" size="6" align="center"> </form> и есть таблица <table border="1" width="100%"> <tr> <td> a x b , мм </td> <script type="text/javascript"> for (k=50; k<=1000; k=k+50) document.write("<td>"+String(k)+"</td>"); </script> </tr> <script type="text/javascript"> for (i=50; i<=1000; i=i+50) { document.write("<tr>"); document.write("<td>"+String(i)+"</td>"); for (j=50; j<=1000; j=j+50) { var v=(i*j).toFixed(1); document.write("<td>"+String(v)+"</td>"); } document.write("</tr>"); } </script> </table> Следующим скриптом получаю данные из формы <script> $(document).ready(function() { function speed2 () { var rashod = $("#rashod").val(); var speed2 = rashod; $(".speed2").text(speed2); }; $("#rashod").keyup(speed2); }); </script> при домножении на переменную rashod таблица вообще не выодится. Необходимо всю таблицу перемножить на вводимое число в форме. Заранее благодарю. | 
| 
 
<form action=" " method="post">
<input id="inp" type="text" name="rashod" size="6" align="center">
</form>	
и есть таблица
<table id="table" border="1" width="100%">
<tr>
<td> a x b , мм </td>
<script type="text/javascript">
for (k=50; k<=1000; k=k+50) 
document.write("<td>"+String(k)+"</td>");
</script> 
</tr>
<script type="text/javascript"> 
for (i=50; i<=1000; i=i+50)
{ 
document.write("<tr>"); 
document.write("<td>"+String(i)+"</td>");
for (j=50; j<=1000; j=j+50) 
{ 
var v=(i*j).toFixed(1);
document.write("<td>"+String(v)+"</td>"); 
}
document.write("</tr>"); 
} 
</script> 
</table>
<script>
window.onload = function () {
  var table = document.getElementById('table');
  var inp = document.getElementById('inp');
  var tr = table.rows;
  var len = tr.length;
  var td, tdLen;
  inp.onkeyup = function () {
    if (isNaN(inp.value) == false && inp.value != '') {
      for (var i = 1; i < len; i++) {//i = 0
        td = tr[i].cells;
        tdLen = td.length;
        for (var j = 1; j < tdLen; j++) {//j = 0
          //if (i == 0 && j == 0) continue;
          td[j].innerHTML = parseFloat(td[j].innerHTML) * parseFloat(inp.value);
        }
      }
    }
  }
}
</script>
 | 
| 
 <table> * number | 
| 
 Цитата: 
 | 
| 
 devote! Огромнейшее спасибо!!! | 
| 
 Может кто поделится способом или это прикол такой :) | 
| 
 Я извиняюсь, не того отблагодарил. Вам огромнейшее спасибо bes!!! Ваш пример работает. Вот только не могу понять что происходит: к примеру вводишь трехзначное число, таблица пересчиталась, но если стирать по одной цифре то таблица и дальше продолжает пересчитываться на увеличение | 
| 
 Исходное-то значение перезаписывается и каждый раз умножается на то, которое осталось в ячейке (что просили, то и получили), варианты решения есть, только не понятно, зачем вообще всё это нужно (формулы перемножения у вас не рабочие (точнее один раз срабатывают при выводе), document.write зачем используете тоже не понятно), объясните, там посмотрим. | 
| 
 Задача такая: есть таблица от 50 до 1000 с шагом 50 по горизонтали и вертикали. Есть форма ввода числа. Нужно чтобы при вводе (изменении) числа в форме, таблица пересчитывалась относительно этого числа. Поясняю: в таблице считается площадь (а х b), вводим число - получаем объем. С несколькими числами у меня получается, а вот с таблицей никак. Вот мой пример http://helpeng.ru/programs/water.php   Пытаюсь сделать такой вариант, только с таблицей. Изначально выложил свое видение, но не получается определить переменную из формы в скрипте формирования таблицы. Спасибо за участие. | 
| 
 
<style>
	table, td {
		border: solid 1px;
		text-align: center;
		white-space: nowrap;
	}
</style>
<input id="inp">
<div id="div"></div>
<script>
window.onload = function () {
	var num = 20;
	
	var str = '<table id="table"><tr><td>a x b, mm</td>';
	for (var i = 1; i <= num; i++) {
		str += '<td>' + i*50 + '</td>';
	}
	str += '</tr>';
	for (i = 1; i <= num; i++) {
		str += '<tr>';
		for (var j = 0; j <= num; j++) {
			if (j == 0) {
				str += '<td>' + i*50 + '</td>';
			} else {
				str += '<td>' + i * 50 * j * 50 + '</td>';
			}
		}
		str += '</tr>' 
	}
	str += '</table>';
	
	document.getElementById('div').innerHTML = str;
	var table = document.getElementById('table');
	var inp = document.getElementById('inp');
	var tr = table.rows;
	var len = tr.length;
	var td, tdLen;
	var value;
	function calculate() {
		if (isNaN(inp.value) == false && inp.value != '') {
			value = parseFloat(inp.value);
		} else {
			value = 1;
		}
		for (var i = 1; i < len; i++) {
			td = tr[i].cells;
			tdLen = td.length;
			for (var j = 1; j < tdLen; j++) {
				td[j].innerHTML = i * 50 * j * 50 * value;
			}
		}
	}
	 inp.onkeyup = function () {
		calculate()
	}
}
</script>
 | 
| 
 Урааа!!!!! Все работает! bes, моей благодарности нет предела! Спасибо огромнейшее! Два дня бился, все без толку. Буду разбираться с кодом. Еще раз спасибо! | 
| Часовой пояс GMT +3, время: 19:23. |