Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Скрипт кол товаров и суммы не правильно работает. (https://javascript.ru/forum/dom-window/10253-skript-kol-tovarov-i-summy-ne-pravilno-rabotaet.html)

Enua 24.06.2010 17:46

Скрипт кол товаров и суммы не правильно работает.
 
<body onload="press();">

<script type="text/javascript">
   function press(){
	var kol_tov = document.forms[0].elements.length;
	var out = 0, col = 0, cena = 0, total_col = 0;
	
	for(var i=0; i<kol_tov; i+=2){
	
	col = Math.abs(document.forms[0].elements[i].value);
	cena = Math.abs(document.forms[0].elements[i+1].value);
	
	total_col+=col;
	out+= col*cena;
	//out += Math.abs(document.forms[0].elements[i].value);
	}
	
	document.getElementById('summ').value = out;
	document.getElementById('obchee_col').value = total_col;
	}
</script>


<form>
       <table width="100%" cellspacing="0" cellpadding="2" border="1">
        <tr align="left">
          <th><?php echo $VM_LANG->_('PHPSHOP_ORDER_PRINT_SKU') ?></th>
          <th><?php echo $VM_LANG->_('PHPSHOP_ORDER_PRINT_NAME') ?></th>
          <th><?php echo $VM_LANG->_('PHPSHOP_ORDER_PRINT_QTY') ?></th>
          <th><?php echo $VM_LANG->_('PHPSHOP_ORDER_PRINT_PRICE') ?></th>
        </tr>
        <?php
      $dbcart = new ps_DB;
      $q  = "SELECT * FROM #__{vm}_order_item ";
      $q .= "WHERE #__{vm}_order_item.order_id='$order_id' ";
      $dbcart->query($q);
      $subtotal = 0;
      
      while ($dbcart->next_record()) {
      
?>
        <tr align="left">
          <td><?php $dbcart->p("order_item_sku"); ?></td>
         <td><?php $dbcart->p("order_item_name"); echo " <font size=\"-2\">" . $dbcart->f("product_attribute") . "</font>";?></td>
          
          <td><input type="Text" onKeyUp="press(this.value);" value="<?php $dbcart->p("product_quantity"); ?>" size="2"></td>
          <td><input value="<?php $dbcart->p('product_final_price');?>" disabled></td>
         
          
          
        </tr><?php
      }
?>
</table>
</form>

    <br><br>
  
<table>
    
  	<tr>
  		<td>Общее колличество: </td><td> <input id="obchee_col" type="Text"> шт.<td>
  	</tr>
  	<tr>
  		<td>Сумма заказа: </td><td> <input id="summ" type="Text"> руб.<td>
  	</tr>

  	
  </table>





При изменения кол-ва суммирует предидущее кол-во с введенным.
т.е. если было 2 товара каждого по 1 шт, при открытии накладной все выводится верно "общее кол-во" = 2 шт. Как только изменяешь кол-во одного из товаров (просто стираешь 1) "общее кол-во" = 3 шт. вместо 1
Помогите пожалуйста!

Gvozd 25.06.2010 02:19

1)
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
2)
Здравствуйте!

Судя по вашему сообщению, вы ну совсем не знаете javascript.

Освойте основы языка и вопрос отпадет сам, полностью или частично.
А с чем не справитесь - поможем.

На сайте javascript можно начать изучать с учебника, раздел Основы javascript.
Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/

Задавайте конкретные вопросы по ходу дела.


Часовой пояс GMT +3, время: 22:32.