<script>
var total = 0,
totalDiv = document.getElementById( 'total' ),
els = document.getElementsByTagName( 'input' );
for( var i = 0, el; el = els[ i++ ]; ) {
if ( el.type == "checkbox" && el.getAttribute( 'data-price' ) ) {
total += el.checked ? ( parseFloat( el.getAttribute( 'data-price' ) ) || 0 ) : 0;
el.onclick = function( e ) {
var target = e && e.target || window.srcElement;
total = target.checked ?
total + ( parseFloat( target.getAttribute( 'data-price' ) ) || 0 ) :
total - ( parseFloat( target.getAttribute( 'data-price' ) ) || 0 );
totalDiv.innerHTML = total + " руб.";
}
}
}
totalDiv.innerHTML = total + " руб.";
</script>
он обрабатывает суму чек боксов как к нему добавить ище
<input name='' type='text' value='0'>
чтобы считало ище и его!
зарание спасибо!
Спустя 4 минуты, 43 секунды (16.09.2012 - 14:04) redreem написал(а):
Цитата |
есть такая форма |
а показан скрипт
Спустя 1 час, 40 минут, 30 секунд (16.09.2012 - 15:45) johniek_comp написал(а):
<input id="inp" name='' type='text' value='0'>
totalDiv.innerHTML = document.getElementById('inp').value+total + " руб.";
очевидно же...
Спустя 21 час, 42 минуты, 8 секунд (17.09.2012 - 13:27) BeerMan88 написал(а):
Цитата (johniek_comp @ 16.09.2012 - 12:45) |
<input id="inp" name='' type='text' value='0'> totalDiv.innerHTML = document.getElementById('inp').value+total + " руб."; очевидно же... |
когда ввожу в input ничего не происходит!
Спустя 39 минут, 4 секунды (17.09.2012 - 14:06) Игорь_Vasinsky написал(а):
parseInt(document.getElementById('inp').value)
или parseFloat в зависимости от типа данных
Спустя 13 минут, 48 секунд (17.09.2012 - 14:20) BeerMan88 написал(а):
Цитата (Игорь_Vasinsky @ 17.09.2012 - 11:06) |
parseInt(document.getElementById('inp').value) или parseFloat в зависимости от типа данных |
полюбому не работает!((
вот смотри весь код что делаю не так?
<h3>Сайт визитка</h3><br>
<div id='zdesign'>
<p><strong>Дизайн:</strong></p>
<p>
<form action='zakaz.php?add=2' method='post'>
<input checked disabled type='checkbox' name='shablon' data-price='<?=$vshablon?>'> Шаблон (<?=$vshablon?> р.) <br>
<span>Шаблон рисуется на основании составленного брифа и соответствует требованиям заказчика.</span></p>
<p><input checked disabled type='checkbox' name='verstka' data-price='<?=$vverstka?>'> HTML-верстка (<?=$vverstka?> р.) <br>
<span>На основании утвержденного шалона создается рабочий макет.</span></p>
<p><input type='checkbox' name='logo' data-price='<?=$vlogo?>'> Разработка логотипа (<?=$vlogo?> р.) <br>
<span>Логотип разрабатывается исходя из предпочтений заказчика.</span></p>
<p><strong>Наполнение сайта:</strong></p>
<table border='0' cellpadding='0' cellspacing='0'>
<tr>
<td width='200px'><br>Услуги копирайтинга (1 ст.)</td>
<td><input id="inp" name='copy' size='1' type='text' value='0'> <?=$vcopy?> р.</td>
</tr>
</table>
<p><strong>Программирование:</strong></p>
<p><input type='checkbox' name='form' data-price='<?=$vform?>'> Форма отправки писем (<?=$vform?> р.) <br>
<span>Установка простой формы отправки писем или заявок посетителей. Простая форма содержит до 5 полей для ввода текста (Ф.И.О. отправителя, контактный телефон, e-mail, дополнительная информация и т.п.). Сообщение приходит на электронную почту в текстовом формате. Позволяет привести запросы посетителей к единой форме и избежать СПАМа.</span></p>
<p><input type='checkbox' name='poisk' data-price='<?=$vpoisk?>'> Поиск по сайту (<?=$vpoisk?> р.) <br>
<span>Модуль поиска совпадений по словам и фразам на страницах сайта.</span></p>
<input type='hidden' value='<?=$site?>' name='site'>
<div id="total">0 руб.</div><br/>
<!--script-->
<script>
var vcopy=<?=$vcopy?>;
var total = 0,
totalDiv = document.getElementById( 'total' ),
els = document.getElementsByTagName( 'input' );
for( var i = 0, el; el = els[ i++ ]; ) {
if ( el.type == "checkbox" && el.getAttribute( 'data-price' ) ) {
total += el.checked ? ( parseFloat( el.getAttribute( 'data-price' ) ) || 0 ) : 0;
el.onclick = function( e ) {
var target = e && e.target || window.srcElement;
total = target.checked ?
total + ( parseFloat( target.getAttribute( 'data-price' ) ) || 0 ) :
total - ( parseFloat( target.getAttribute( 'data-price' ) ) || 0 );
totalDiv.innerHTML = total + " руб.";
}
}
}
totalDiv.innerHTML = dparseInt(document.getElementById('inp').value)+total + " руб.";
</script>
<!--/script-->
<input type='submit' value='Далее'>
</form></div>
Спустя 14 минут, 17 секунд (17.09.2012 - 14:34) Игорь_Vasinsky написал(а):
Цитата |
вот смотри весь код что делаю не так? |
Цитата |
вот смотри |
Цитата |
смотри |
Цитата |
= dparseInt(document.getElementById('inp').value) |
Спустя 45 секунд (17.09.2012 - 14:35) Игорь_Vasinsky написал(а):
и чё ты int ставшь? когда во всём коде с дробями работаешь...
Спустя 9 минут, 51 секунда (17.09.2012 - 14:45) BeerMan88 написал(а):
Цитата (Игорь_Vasinsky @ 17.09.2012 - 11:35) |
и чё ты int ставшь? когда во всём коде с дробями работаешь... |
пробовал так и так полюбому ввожу кольчество страниц и ничего не добавляется к суме
Спустя 1 минута, 17 секунд (17.09.2012 - 14:46) Игорь_Vasinsky написал(а):
Цитата |
dparseInt |
Спустя 4 минуты, 52 секунды (17.09.2012 - 14:51) BeerMan88 написал(а):
ставил и parseFloat
Спустя 1 минута, 50 секунд (17.09.2012 - 14:53) Игорь_Vasinsky написал(а):
input должен выше JS стаять
Спустя 1 минута, 36 секунд (17.09.2012 - 14:54) BeerMan88 написал(а):
он так и стоит
надо чтобы после ввода в инпут оно сразу додавалось без перезагрузки страницы
надо чтобы после ввода в инпут оно сразу додавалось без перезагрузки страницы