Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите !!! JAVA не считает сумму
 
 автор: foboss26   (21.05.2007 в 16:32)   письмо автору
 
 

Здравствуйте! Помогите понять в чём ошибка, данные передаются из формы, но в самом Ява - коде не происходит суммирование как надо, а только склеивание в строку.
Буду благорен если поможете!!!
Вот код Ява:

<!--
function showAll() {
var av = document.opt.a.value;
var bv = document.opt.b.value;
var cv = document.opt.c.value;
var dv = document.opt.d.value;
var ev = document.opt.e.value;
var otv = document.opt.ot.value;
var tov = document.opt.to.value;
var stepv = document.opt.step.value;

      objWindow = window.open("", "_self", "width=800,height=600");
      objWindow.document.write("<html><body>");
      objWindow.document.write("<div align='center'><b>МЕТОД РАВНОМЕРНОГО ПОИСКА</b></div>");
      objWindow.document.write("<table width='100%' border-collapse = '3px' bordercolor = '000000' bgcolor = '909090' cellpadding='0' cellspacing='1'>");
      objWindow.document.write("<tr><td width = '100%' colspan = '3' bgcolor = 'FFFFFF'>");
      objWindow.document.write("Функция: <b>F = "+av+" + "+bv+"*x - "+cv+"*x^2 + "+dv+"*x^3 - "+ev+"*x^4</b>");
      objWindow.document.write("</td></tr>");
      objWindow.document.write("<tr><td width = '100%' colspan = '3' bgcolor = 'FFFFFF'>");
      objWindow.document.write("Пределы: "+otv+", "+tov+"");
      objWindow.document.write("</td></tr>");
      objWindow.document.write("<tr><td width = '100%' colspan = '3' bgcolor = 'FFFFFF'>");
      objWindow.document.write("Шаг: "+stepv+"");
      objWindow.document.write("</td></tr>");
      objWindow.document.write("<tr>");
      objWindow.document.write("<td bgcolor = 'FFFFFF'><div align='center'><b>КОЛЛИЧЕСТВО ВЫЧИСЛЕНИЙ NF</b></div></td>");
      objWindow.document.write("<td bgcolor = 'FFFFFF'><div align='center'><b>x</b></div></td>");
      objWindow.document.write("<td bgcolor = 'FFFFFF'><div align='center'><b>F</b></div></td>");
      objWindow.document.write("</tr>");
var x=otv;
var pred1=Math.abs(otv);
var pred=pred1+tov;
for (var i = 0; i<=(pred);i++){
a1 = av;
b1 = bv*x;
c1 = cv*(Math.pow(x,2));
d1 = dv*(Math.pow(x,3));
e1 = ev*(Math.pow(x,4));
funct = a1+b1-c1+d1-e1;
      objWindow.document.write("<tr>");
      objWindow.document.write("<td bgcolor = 'FFFFFF'>NF = " + i + "</td>");
      objWindow.document.write("<td bgcolor = 'FFFFFF'>x = "+x+"</td>");
      objWindow.document.write("<td bgcolor = 'FFFFFF'>F = "+funct+"</td>");
var x=x+stepv;
      objWindow.document.write("</tr>");
}
      objWindow.document.write("</table></body></html>");
      objWindow.document.close()
}
// -->

И сама форма

<html>
<HEAD>
<title>МЕТОД РАВНОМЕРНОГО ПОИСКА</title>
<script language="JavaScript" src="js/optmrp.js"></script>
</head>
<body bgcolor="FFFFFF">
<div align="center"><b>МЕТОД РАВНОМЕРНОГО ПОИСКА</b></div>
<form name="opt">
<table width = "100%" border = "0" valign = "top">
<tr>
<td width = "200" valign = "top">
<div align="right">Функция <b>F = </b></div>
</td>
<td>
<input name="a" style="width:30; border-color:909090" type="text" value="">
<b>+</b>
<input name="b" style="width:30; border-color:909090" type="text" value="">
<b>*X - </b>
<input name="c" style="width:30; border-color:909090" type="text" value="">
<b>*X^2 + </b>
<input name="d" style="width:30; border-color:909090" type="text" value="">
<b>*X^3 - </b>
<input name="e" style="width:30; border-color:909090" type="text" value="">
<b>*X^4</b>
</td>
</tr>
<tr>
<td width = "200" valign = "top">
<div align="right">Интервал <b>От</b></div>
</td>
<td>
<input name="ot" style="width:40; border-color:909090" type="text" value="">
<b> До </b>
<input name="to" style="width:40; border-color:909090" type="text" value="">
</td>
</tr>
<tr>
<td width = "200" valign = "top">
<div align="right">Шаг </div>
</td>
<td>
<input name="step" style="width:40; border-color:909090" type="text" value="">
</td>
</tr>
<tr>
<td width = "200" valign = "top">
&nbsp;
</td>
<td>
<input type="submit" name="ShowAll" value="Расчитать" onClick="showAll()">
</td>
</tr>
</form>
</table>
</body>
</html>

   
 
 автор: coloboc66   (21.05.2007 в 16:40)   письмо автору
 
   для: foboss26   (21.05.2007 в 16:32)
 

Нужно все переменные приводить к числовому типу:
var val1="1";
var val2="2";
var sum_str=val1+val2;//здесь получим 12
var sum_int=Number(val1)+Number(val2);//здесь получим 3

   
 
 автор: foboss26   (21.05.2007 в 16:50)   письмо автору
 
   для: coloboc66   (21.05.2007 в 16:40)
 

Спасибо!!! Понял свою ошибку!

   
 
 автор: CNT   (22.05.2007 в 00:10)   письмо автору
 
   для: foboss26   (21.05.2007 в 16:50)
 

А вот так будет работать значительно быстрее:
var av = document.opt.a.value * 1;
var bv = document.opt.b.value * 1;
var cv = document.opt.c.value * 1;
var dv = document.opt.d.value * 1;
var ev = document.opt.e.value * 1 ;
var otv = document.opt.ot.value* 1;
var tov = document.opt.to.value * 1;
var stepv = document.opt.step.value * 1;

   
 
 автор: CrazyAngel   (22.05.2007 в 08:51)   письмо автору
 
   для: foboss26   (21.05.2007 в 16:32)
 

и еще это javascript!!!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования