Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   калькулятор для сайта js+html (https://javascript.ru/forum/misc/66860-kalkulyator-dlya-sajjta-js-html.html)

andreydeli7 15.01.2017 05:58

калькулятор для сайта js+html
 
:help: :help: Здравствуйте, впервые пишу в форум, нужен калькулятор, скрипт не хочет отрабатывать, видимо , я нуб. Помогите безвозмездно исправить ошибку? если таковая имеется.
КОД HTML
<form class="form_calc">
                            <div class="calc__form-row">
                                <label class="calc__form-label" for="calc_square"> Площадь</label><input id="calc_square" class="calc__form-input calc__form-input_square" type="text" placeholder="20">
                            </div>
                            <div class="calc__form-row">
                                <label class="calc__form-label" for="calc_angles"> Количество углов</label><input id="calc_angles" class="calc__form-input calc__form-input_angles" type="text" placeholder="4">
                            </div>
                            <div class="calc__form-row">
                                <label class="calc__form-label" for="calc_lights"> Количество светильников</label><input id="calc_lights" class="calc__form-input calc__form-input_lights" type="text" placeholder="4">
                            </div>
                        </form>
                    </div>
                    <div class="calc__result">
                        <div class="calc__result-box">
                            <div class="calc__result-header"> ЦЕНА ПОТОЛКА</div>
                            <div class="calc__result-middle">
                                <span class="calc__result-value"> 0 руб.</span><br>

Код JS:
function calcHandler($calcCont){

	var $calcResultCont = $calcCont.find('.calc__result-value');
	var $calcInputs = $calcCont.find('.calc__form-input');
	var $calcSquare = $calcCont.find('.calc__form-input_square');
	var $calcAngles = $calcCont.find('.calc__form-input_angles');
	var $calcLights = $calcCont.find('.calc__form-input_lights');

	var result = 0;

	var tt;

	var putValue = function(result){
		var k = Math.floor(result / 1000);
		var d = Number(result - k * 1000);
		//console.log(k, d, result);
		d = (d < 100) ? (d < 10 ? '00' + d : '0' + d) : d;
		if (k == 0){
			k = '';
		}
		$calcResultCont.text(k + ' ' + d + ' руб.');
	}

	var calculateSum = function(){

		//console.log($calcSquare.attr('class'));
		$calcSquare.addClass('s' + Math.random());
		//console.log($calcSquare.attr('value'));
		//console.log($calcSquare.val());

		var calcSquareValue = Number($calcSquare.val());
		var calcAnglesValue = Number($calcAngles.val());
		var calcLightsValue = Number($calcLights.val());

		if (!calcSquareValue){

			return false;
		}

		result = Math.round(calcSquareValue * 650 + calcAnglesValue * 100 + calcLightsValue * 600);
		putValue(result);
	}


	$calcCont.on('keyup', '.calc__form-input', function(){
		calculateSum();
		console.log($result);
	})
}

рони 15.01.2017 06:36

Цитата:

Сообщение от andreydeli7
исправить ошибку?

ошибок нет, не хватает данных и логики.


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