|  | | 
| 
          | 
              
                | Тема |  Javascript:Пресмятане на стойности от клетки |  |  | Автор | Nebesen1 (stubborn) |  |  | Публикувано | 19.01.07 15:12 |  |  |  | 
        
 
 
				
			Здравейте Опитвам се да направя следното нещо - елементарна таблица с продукти и цените им даречем 5 реда. На 6тия ред се пресмята общата стойност на продуктите, като цените им може да се променят и при промяна, да се пресмята новата сума. Съвсем нов съм в джаваскрипт, но засега нещата изглеждат така :
 
 В отговор на:
 
<script type="text/javascript">
 function calculate()
 {
 sum=0;
 i=0;
 while(document.getElementById(i).value.length!=0)
 {
 val=document.getElementById(i).value;
 sum=sum+parseInt(val);
 i=i+1;
 }
 document.getElementById("sum").innerHTML=sum;
 }
 </script>
 
 
 
 В отговор на:
 
$query=mysql_query("SELECT * FROM products WHERE system='$system_id'");
 echo "<form name=myform><table id=tableid border=1 cellpadding=0 cellspacing=0 width=50%><tr>
 <td align=center width=50%><b>Product</b></td>
 <td align=center width=50%><b>Price</b></td></tr>";
 
 for($i=0; $i<mysql_num_rows($query); $i++)
 {
 $product_name=mysql_result($sql, $i, "ime");
 $bez_dds=mysql_result($sql, $i, "bez_dds");
 
 echo "<tr>
 <td align=center>$product_name</td>
 <td align=center><input type=text id=$i onkeyup=calculate()></td>
 </tr>";
 }
 echo "<tr>
 <td align=center><b>Sum:</b></td>
 <td id=sum align=center></td></tr>
 </table></form>";
 
 
 
 Така това принципно работи, но с няколко проблема:
 1)Ако задам <input type=text id=$i onkeyup=calculate() VALUE=$bez_dds> не пресмята нищо. Как мога хем да задам дефолт стойност, хем да мога да я пресмятам при промяна с джаваскрипта ?
 2)Пресмята се стойността на всички полета с изключение на последното. Последното поле просто не се включва в общата сума. Прегледах няколко пъти циклите, но не виждам къде може да е проблема. Някакви идеи ?
 
 Благодаря предварително.
 
 Just do it
 
 
 |  |  |  |  
 |   | 
 |