Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.08.2014, 17:13
Новичок на форуме
Отправить личное сообщение для ovesyan19 Посмотреть профиль Найти все сообщения от ovesyan19
 
Регистрация: 15.08.2014
Сообщений: 1

Первый элемент в input
Когда пользователь нажимает на КНОПКУ 0 или просто с клавиатуры вводит 0 - не желательно чтобы такого рода ввод был невозможен - "035, "00005", так как это калькулятор. То же касается и операторов, например сейчас можно ввести два оператора друг за другом - "/*+".

<div class="calculator">
		<div class="screen">
			<form>
				<span class="display result">0</span>
			</form>
			<hr/>
			<form>
				<input type="text" class="display calculating" placeholder="0" onkeyup="return validateNumber(event)" />
			</form>
			<hr/>
		</div>

		<div class="keys">
			<span onclick="set('(')">(</span>
			<span onclick="set(')')">)</span>
			<span onclick="del()" class="delete">←</span>
			<span onclick="cl()" class="clear">C</span>
			<span onclick="set('7')">7</span>
			<span onclick="set('8')">8</span>
			<span onclick="set('9')">9</span>
			<span onclick="set('/')" class="operator">÷</span>
			<span onclick="set('4')">4</span>
			<span onclick="set('5')">5</span>
			<span onclick="set('6')">6</span>
			<span onclick="set('*')" class="operator">×</span>
			<span onclick="set('1')">1</span>
			<span onclick="set('2')">2</span>
			<span onclick="set('3')">3</span>
			<span onclick="set('-')" class="operator">-</span>
			<span onclick="set('0')" class="zero">0</span>
			<span onclick="set('.')">.</span>
			<span onclick="set('+')" class="operator">+</span>
		</div>
	</div>


var calc = document.querySelector(".calculating");
var result = document.querySelector(".result");

function set(oper){
	calc.value += oper;
  	result.innerHTML = eval(calc.value);
}

function del(){
	var length = calc.value.length;
	length--;
	calc.value = calc.value.substr(0, length) || 0;
	result.innerHTML = eval(calc.value);
}

function cl(e){
	e = '0';
	calc.value = e;
   	result.innerHTML = eval(calc.value);
}

function validateNumber(e){
	var unicode = e.which || e.keyCode;

	if (unicode != 8){
		if (unicode < 48 || unicode > 57){
			return false;
		}
	}
	result.innerHTML = eval(calc.value || 0);
}


Спасибо за помощь
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно вытащить первый элемент Grallast Общие вопросы Javascript 1 02.10.2013 00:29
удалить элемент input с сохранением его значения в <td> Сергей1980 jQuery 1 29.08.2013 02:06
Разворачивается только первый элемент в списке dezzignet jQuery 8 05.12.2012 14:51
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
Проблема с IE - находит по шаблону только первый элемент tim-ua jQuery 3 17.07.2010 18:36