Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   if не перехватывает символ (https://javascript.ru/forum/misc/53317-if-ne-perekhvatyvaet-simvol.html)

Satansoft 29.01.2015 14:02

if не перехватывает символ
 
Вызов
<td rowspan="2"> <input id="buttHide" name="Equal" type="Button" class="Gray" value="=" onclick='operation("=")' /></td>


Обработчик
function operation(op){
var current = document.getElementById("ciField").value; //Текущая
var middVar = 0; //Промежуточная
var sign = "";
if(op=="="){ //Если = то выполняем операцию
	switch(sign){
	case '+': middVar += parseFloat(current);
	break;
	case '-': middVar -= parseFloat(current);
	break;
	case '*': middVar *= parseFloat(current);
	break;
	case '/': middVar /= parseFloat(current);
	break;}}
else //иначе переносим из текущей в промежуточную
	middVar = current;
	document.getElementById("ciField").value = '0';
	sign = op;
	}


if не выполняет условие op=="=", всё время валит в else... проверенно алерnом в блоке else

Rise 29.01.2015 15:24

Satansoft, else надо тоже в скобки { } взять.

Satansoft 29.01.2015 16:31

Ряд косяков устранил, переменные в глобал перенес (В js это не так критично как в ООП?), для сохранности, теперь, правда, не вычисляет, косяк в логике, конкотенирует строки...а надо сумма...

http://jsbin.com/vimumivehu/1/edit?html,css,js,output


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