не удается получить значения с input и посчитать их сумму
Здравствуйте, форумчане!
получаю ошибку TypeError: itemCount is null ругается на строчку count += (itemCount.value); скрипт поместила перед закрывающимся тегом боди. подскажите в чем ошибка :)
<div id="wrapper">
<table>
<tr class="item_box">
<td class="item_title">Кукла Dolly</div>
<td class="item_count"><input type="text" id="item0" value="0"/></td>
<td class="item_price0">500</td>
</tr>
<tr class="item_box">
<td class="item_title">Кукла Jesika</h3>
<td class="item_count"><input type="text" id="item1" value="0" /></td>
<td class="item_price1">1000</td>
</tr>
<tr class="item_box">
<td class="item_title">Кукла Anna</h3>
<td class="item_count"><input type="text" id="item2" value="0" /></td>
<td class="item_price2">1000</td>
</tr>
<tr class="item_box">
<td class="item_title">ИТОГО</h3>
<td class="item_count"><input type="text" id="count" value="0" /></td>
<td class="all_price">0</td>
</tr>
</table>
<p><button id="checkout" onclick="calc()">Подсчитать</button> <button id="clear_cart">Снять выбор</button></p>
</div>
function calc()
{
var count = 0; sum = 0, N = 3;
for( i = 0; i < N; i++ )
{
var itemCount = document.getElementById('item'+i+1);
var itemPrice = document.getElementById('item_price'+i+1);
count += (itemCount.value); /*количество заказанных услуг*/
sum += (itemCount.value)*(itemPrice.value); /*посчитали общую сумму */
}
document.getElementById('count').value = count; /*записывем в форму количество выбранных позиций*/
document.getElementById('all_price').innerHTML = sum;
}
|
kolobku_xxx,
6 ошибок в скрипте, 4 в html - :( |
kolobku_xxx,
в html коде ошибок мама не горюй |
Rasy,
больше 4 ? |
рони,
точно не меньше) |
ошибки по html исправила, спасибо.
теперь ругается на значение другой переменной TypeError: itemPrice is null
<div id="wrapper">
<table>
<tr class="item_box">
<td class="item_title">Кукла Dolly</td>
<td class="item_count"><input type="text" id="item0" value="0"/></td>
<td class="item_price0">500руб.</td>
</tr>
<tr class="item_box">
<td class="item_title">Кукла Jesika</td>
<td class="item_count"><input type="text" id="item1" value="0" /></td>
<td class="item_price1">1000руб.</td>
</tr>
<tr class="item_box">
<td class="item_title">Кукла Anna</td>
<td class="item_count"><input type="text" id="item2" value="0" /></td>
<td class="item_price2">1000руб.</td>
</tr>
<tr class="item_box">
<td class="item_title">ИТОГО</td>
<td class="item_count"><input type="text" id="count" value="0" /></td>
<td class="all_price">0руб.</td>
</tr>
</table>
<p><button id="checkout" onclick="calc()">Подсчитать</button> <button id="clear_cart">Снять выбор</button></p>
</div>
function calc()
{
var count = 0; sum = 0, N = 3;
for( i = 1; i < N; i++ )
{
var itemCount = document.getElementById('item'+i);
var itemPrice = document.getElementById('item_price'+i);
count += (itemCount.value); /*количество заказанных услуг*/
sum += (itemCount.value)*(itemPrice.value); /*посчитали общую сумму */
}
document.getElementById('count').value = count; /*записывем в форму количество выбранных позиций*/
document.getElementById('all_price').innerHTML = sum;
}
|
kolobku_xxx,
строка 7 нет таких id , есть класс строка 8 нет числа, есть строка нужно число строка 9 нет числа + нет value строка 12 нет такого id , есть класс |
:write:
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<div id="wrapper">
<table>
<tr class="item_box">
<td class="item_title">Кукла Dolly</td>
<td class="item_count"><input type="text" id="item0" value="0"/></td>
<td class="item_price0">500</td>
</tr>
<tr class="item_box">
<td class="item_title">Кукла Jesika</td>
<td class="item_count"><input type="text" id="item1" value="0" /></td>
<td class="item_price1">1000</td>
</tr>
<tr class="item_box">
<td class="item_title">Кукла Anna</td>
<td class="item_count"><input type="text" id="item2" value="0" /></td>
<td class="item_price2">1000</td>
</tr>
<tr class="item_box">
<td class="item_title">ИТОГО</td>
<td class="item_count"><input type="text" id="count" value="0" /></td>
<td class="all_price">0</td>
</tr>
</table>
<p><button id="checkout" onclick="calc()">Подсчитать</button> <button id="clear_cart">Снять выбор</button></p>
</div>
<script>
function calc()
{
var count = 0; sum = 0, N = 3;
for( i = 0; i < N; i++ )
{
var itemCount = document.getElementById('item'+ i);
var itemPrice = document.querySelector('.item_price'+i);
count += (+itemCount.value||0); /*количество заказанных услуг*/
sum += (+itemCount.value||0)*(+itemPrice.innerHTML||0); /*посчитали общую сумму */
}
document.getElementById('count').value = count; /*записывем в форму количество выбранных позиций*/
document.querySelector('.all_price').innerHTML = sum;
}
</script>
</body>
</html>
|
Спасибо за помощь. :)
<div id="wrapper">
<table>
<tr class="item_box">
<td class="item_title">Кукла Dolly</td>
<td class="item_count"><input type="text" id="item0" value="0"/></td>
<td class="item_price">500</td>
</tr>
<tr class="item_box">
<td class="item_title">Кукла Jesika</td>
<td class="item_count"><input type="text" id="item1" value="0" /></td>
<td class="item_price">1000</td>
</tr>
<tr class="item_box">
<td class="item_title">Кукла Anna</td>
<td class="item_count"><input type="text" id="item2" value="0" /></td>
<td class="item_price">1000</td>
</tr>
<tr class="item_box">
<td class="item_title">ИТОГО</td>
<td id="item_count"></td>
<td id="all_price"></td>
</tr>
</table>
<p><button id="checkout" onclick="calc()">Подсчитать</button> <button id="clear_cart">Снять выбор</button></p>
</div>
function calc()
{
var count = 0; sum = 0, N = 3;
for( i = 0; i < N; i++ )
{
var itemCount = document.getElementById('item'+i);
var itemPrice = document.getElementsByClassName('item_price')[i];
count += (+itemCount.value || 0); /*количество заказанных услуг*/
sum += (+itemCount.value || 0)*(itemPrice.innerHTML || 0); /*посчитали общую сумму */
}
document.getElementById('item_count').innerHTML = count; /*записывем в форму количество выбранных позиций*/
document.getElementById('all_price').innerHTML = sum;
}
|
| Часовой пояс GMT +3, время: 14:32. |