[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: javascript и input
BeerMan88
есть такой скрипт

<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 написал(а):
он так и стоит
надо чтобы после ввода в инпут оно сразу додавалось без перезагрузки страницы
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.