Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не выводит сумму (https://javascript.ru/forum/misc/52150-ne-vyvodit-summu.html)

porezon 05.12.2014 20:16

Не выводит сумму
 
Есть такое код:

<script>
var productForm = document.forms.productForm;
productForm.oninput = productForm.onchange = function() {
price.innerHTML = this.prodat[this.prodat.selectedIndex].getAttribute('data-price') * this.kol.value;
};
var kypitForm = document.forms.kypitForm;
kypitForm.oninput = kypitForm.onchange = function() {
price1.innerHTML = this.kypit[this.kypit.selectedIndex].getAttribute('data-price1') * this.kolvo.value;
};
</script>

<table class="statustable">
<tr>
<thead>
<th align="center"><b>Продать продукты:</b></th>
</tr></thead><tr>
<td align="center">
<form method="post" id="kypitForm" action="">
<select type="oplata" name="kypit">
<option value='1' data-price1="<?=$egss_p;?>">Яйцо (Цена: <?=$egss_p;?> руб/ед.)</option>
<option value='2' data-price1="<?=$meat_p;?>">Мясо (Цена: <?=$meat_p;?> руб/ед.)</option>
<option value='3' data-price1="<?=$milk_ovta_p;?>">Молоко овцы (Цена: <?=$milk_ovta_p;?> руб/ед.)</option>
<option value='4' data-price1="<?=$milk_cow_p;?>">Молоко коровы (Цена: <?=$milk_cow_p;?> руб/ед.)</option>
<option disabled>-----</option>
<option value='5' data-price1="<?=$testo_p;?>">Тесто (Цена: <?=$testo_p;?> руб/ед.)</option>
<option value='6' data-price1="<?=$farsh_p;?>">Фарш (Цена: <?=$farsh_p;?> руб/ед.)</option>
<option value='7' data-price1="<?=$sir_p;?>">Сыр (Цена: <?=$sir_p;?> руб/ед.)</option>
<option value='8' data-price1="<?=$smetana_p;?>">Сметана (Цена: <?=$smetana_p;?> руб/ед.)</option>
<option disabled>--- Корм ---</option>
<option value='9' data-price1="<?=$psheno_p;?>">Корм кур (Цена: <?=$psheno_p;?> руб/ед.)</option>
<option value='10' data-price1="<?=$kykypyza_p;?>">Корм свиней (Цена: <?=$kykypyza_p;?> руб/ед.)</option>
<option value='11' data-price1="<?=$yachmen_p;?>">Корм овец (Цена: <?=$yachmen_p;?> руб/ед.)</option>
<option value='12' data-price1="<?=$cvekla_p;?>">Корм коров (Цена: <?=$cvekla_p;?> руб/ед.)</option>
<option value='13' data-price1="<?=$bob_p;?>">Корм лам (Цена: <?=$bob_p;?> руб/ед.)</option>
<option value='14' data-price1="<?=$fruit_p;?>">Корм слонов (Цена: <?=$fruit_p;?> руб/ед.)</option>
</select>
</td>
</tr><tr><td align='center'>Количество: <input type="number" min="1" max="999" size="3" name="kolvo"  value="100"></td>
</tr><tr><td align='center'>Стоимость: <b style="color:green"><span id="price1">0</span> руб.</b></td>
</tr><tr><td align='center'><input type="submit" value="Продать" style="font-size:11px;padding:6px 15px;" class="ok_wm"></td>
</form>
</tr></table>


раньше выводил сумму сколько что стоит, сейчас не работает

рони 05.12.2014 20:36

porezon,
остутствует 1 форма - значит нарушается работа первых строк скрипта - форма что есть html с нарушениями.

porezon 05.12.2014 20:59

всмысле?

рони 05.12.2014 21:13

Цитата:

Сообщение от porezon
всмысле?

что непонятно?

porezon 05.12.2014 21:16

почему-то не работает.. могу дать другой код там работает

рони 05.12.2014 21:19

porezon,
да и этот код если убрать лишнее и сделать форму будет рабочим.

рони 05.12.2014 21:24

porezon,
примерно так должно быть ... выбирать мясо
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body><form method="post" id="kypitForm" action="">
<table class="statustable">

<thead><tr>
<th align="center"><b>Продать продукты:</b></th>
</tr></thead><tr>
<td align="center">

<select type="oplata" name="kypit">
<option value='1' data-price1="0.16">Яйцо (Цена: 0.16 руб/ед.)</option>
<option value='2' data-price1="0.29">Мясо (Цена: 0.29 руб/ед.)</option>
<option value='3' data-price1="0.53">Молоко овцы (Цена: 0.53 руб/ед.)</option>
<option value='4' data-price1="1.21">Молоко коровы (Цена: 1.21 руб/ед.)</option>
<option disabled>-----</option>
<option value='5' data-price1="0.26">Тесто (Цена: 0.26 руб/ед.)</option>
<option value='6' data-price1="0.46">Фарш (Цена: 0.46 руб/ед.)</option>
<option value='7' data-price1="0.80">Сыр (Цена: 0.80 руб/ед.)</option>
<option value='8' data-price1="1.7">Сметана (Цена: 1.7 руб/ед.)</option>
<option disabled>--- Корм ---</option>
<option value='9' data-price1="0.042">Корм кур (Цена: 0.042 руб/ед.)</option>
<option value='10' data-price1="0.053">Корм свиней (Цена: 0.053 руб/ед.)</option>
<option value='11' data-price1="0.074">Корм овец (Цена: 0.074 руб/ед.)</option>
<option value='12' data-price1="0.136">Корм коров (Цена: 0.136 руб/ед.)</option>
<option value='13' data-price1="0.238">Корм лам (Цена: 0.238 руб/ед.)</option>
<option value='14' data-price1="1.04">Корм слонов (Цена: 1.04 руб/ед.)</option>
</select>
</td>
</tr><tr><td align='center'>Количество: <input type="number" min="1" max="999" size="3" name="kolvo"  value="100"></td>
</tr><tr><td align='center'>Стоимость: <b style="color:green"><span id="price1">0</span> руб.</b></td>
</tr><tr><td align='center'><input type="submit" value="Продать" style="font-size:11px;padding:6px 15px;" class="ok_wm"></td>

</tr></table></form>
<script>

var kypitForm = document.forms.kypitForm;
kypitForm.oninput = kypitForm.onchange = function() {
price1.innerHTML = (this.kypit[this.kypit.selectedIndex].getAttribute('data-price1') * this.kolvo.value).toFixed(2);
};
</script>

</body>

</html>

porezon 05.12.2014 21:38

в исходном коде у меня вот так

<table class="statustable">
<tr>
<thead>
<th align="center"><b>Продать продукты:</b></th>
</tr></thead><tr>
<td align="center">
<form method="post" action="" id="kypitForm">
<select type="oplata" name="kypit">
<option value='1' data-price1="0.16">Яйцо (Цена: 0.16 руб/ед.)</option>
<option value='2' data-price1="0.29">Мясо (Цена: 0.29 руб/ед.)</option>
<option value='3' data-price1="0.53">Молоко овцы (Цена: 0.53 руб/ед.)</option>
<option value='4' data-price1="1.21">Молоко коровы (Цена: 1.21 руб/ед.)</option>
<option disabled>-----</option>
<option value='5' data-price1="0.26">Тесто (Цена: 0.26 руб/ед.)</option>
<option value='6' data-price1="0.46">Фарш (Цена: 0.46 руб/ед.)</option>
<option value='7' data-price1="0.80">Сыр (Цена: 0.80 руб/ед.)</option>
<option value='8' data-price1="1.7">Сметана (Цена: 1.7 руб/ед.)</option>
<option disabled>--- Корм ---</option>
<option value='9' data-price1="0.042">Корм кур (Цена: 0.042 руб/ед.)</option>
<option value='10' data-price1="0.053">Корм свиней (Цена: 0.053 руб/ед.)</option>
<option value='11' data-price1="0.074">Корм овец (Цена: 0.074 руб/ед.)</option>
<option value='12' data-price1="0.136">Корм коров (Цена: 0.136 руб/ед.)</option>
<option value='13' data-price1="0.238">Корм лам (Цена: 0.238 руб/ед.)</option>
<option value='14' data-price1="1.04">Корм слонов (Цена: 1.04 руб/ед.)</option>
</select>
</td>
</tr><tr><td align='center'>Количество: <input type="number" min="1" max="999" size="3" name="kolvo" value="1"></td>

</tr><tr><td align='center'><input type="submit" value="Продать" style="font-size:11px;padding:6px 15px;" class="ok_wm"></td>
</form>
</tr><tr><td align='center'>Стоимость: <b style="color:green"><span id="price1">0</span> руб.</b></td>
</tr></table>

рони 05.12.2014 21:48

porezon,
так исправьте как вам показал смотрите код выше

porezon 05.12.2014 22:14

спасибо, заработало. Еще такая проблема есть, что выводит 9.350000000000001, подскажи как исправить


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