 
			
				06.10.2016, 14:29
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.10.2016 
					
					
					
						Сообщений: 11
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Как повесить два действия на кнопку?
			 
			
		
		
		
		Есть калькулятор простенький. Хочу от кнопки = избавится. Чтоб   выводил ответ по клику на цифры.  Есть 2 функции, одна вводит цифорку в инпут, а вторая считает по кнопке =. Как бы их объединить? Или создать другую функцию. Я чайник совсем 
function addChar(input, character) {
  	if(input.value == null || input.value == "0")
		input.value = character;
 	else
		input.value += character;
	 	 	}
function compute(form) {
 form.result.value = eval(form.display.value)
}
кнопочки так выглядят
 
<td align="center"  ><input type="button" value="2" onclick="addChar(this.form.display, '2')"></td>
<td align="center"  ><input type="button" value="3" onclick="addChar(this.form.display, '3')"></td>
<td align="center"  ><input type="button" value="4" onclick="addChar(this.form.display, '4')"></td>
 
Спасибо  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				06.10.2016, 14:39
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.07.2016 
					
					
					
						Сообщений: 1,332
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Нихера не понял, просто по ТЗ в теме.  
 
element.addEventListener('click',foo); 
element.addEventListener('input',bar); 
element.addEventListener('keyup',baz); 
 
сколько хочешь на один 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				06.10.2016, 15:10
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.10.2016 
					
					
					
						Сообщений: 11
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Вот страничка с калькулятором, хочу убрать  кнопку = вобще.
			 
			
		
		
		
		Чтоб решение появлялось во время набора цифр 
<!DOCTYPE HTML>
<html>
  <head> </head>
  <body>
 <font color="RED" size="18"> <B>КАЛЬКУЛЯТОР</B></font> <br/>
<form name="sci-calc">
<table table border="1"  >
<tbody> 
<tr>
<td align="center" style="background-color: red"  ><input type="button" value="1" onclick="addChar(this.form.display, '1') "></td>
<td align="center"  ><input type="button" value="2" onclick="addChar(this.form.display, '2')"></td>
<td align="center"  ><input type="button" value="3" onclick="addChar(this.form.display, '3')"></td>
<td align="center"  ><input type="button" value="4" onclick="addChar(this.form.display, '4')"></td>
<td align="center"  ><input type="button" value="5" onclick="addChar(this.form.display, '5')"></td>
<td align="center"  ><input type="button" value="6" onclick="addChar(this.form.display, '6')"></td>
<td align="center"><input type="button" value="7" onclick="addChar(this.form.display, '7')"></td>
<td align="center"><input type="button" value="8" onclick="addChar(this.form.display, '8')"></td>
<td align="center"><input type="button" value="9" onclick="addChar(this.form.display, '9')"></td>
<td align="center"><input type="button" value="0" onclick="addChar(this.form.display, '0')"></td>
<td align="center"><input type="button" value="." onclick="addChar(this.form.display, '.')"></td>
</tr>
 
<tr>
<td colspan="6" align="center"><input name="display" value="0" size="55" maxlength="55"></td>
<td align="center"><input type="button" value="X" onclick="this.form.display.value = 0 "></td>
<td align="center"  ><input type="button" value="<" onclick="deleteChar(this.form.display)"></td>
<td align="center"><input type="button" value="=" name="enter" onclick="if (checkNum(this.form.display.value)) { compute(this.form) }"></td>
 <td colspan="3" align="center"><input name="result"   size="20" maxlength="20"></td>
<td align="center"><input type="button" value="X" onclick="this.form.result.value = 0 "></td>
<td align="center"  ><input type="button" value="<" onclick="deleteChar(this.form.result)"></td>
<td align="center"><input type="button" value="№" onclick="if (checkNum(this.form.display.value)) { sqrt(this.form) }"></td>
<td align="center"><input type="button" value="^2" onclick="if (checkNum(this.form.display.value)) { square(this.form) }"></td>
<td align="center"><input type="button" value="exp" onclick="if (checkNum(this.form.display.value)) { exp(this.form) }"></td>
</tr>
<tr>
 
<td align="center"><input type="button" value="*" onclick="addChar(this.form.display, '*')"></td>
<td align="center"><input type="button" value="-" onclick="addChar(this.form.display, '-')"></td>
  
<td align="center"><input type="button" value="/" onclick="addChar(this.form.display, '/')"></td>
<td align="center"><input type="button" value="+/-" onclick="changeSign(this.form.display)"></td>
<td align="center"><input type="button" value="+" onclick="addChar(this.form.display, '+')"></td>
 
<td align="center"><input type="button" value="(" onclick="addChar(this.form.display, '(')"></td>
<td align="center"><input type="button" value=")" onclick="addChar(this.form.display, ')')"></td>
<td align="center"><input type="button" value="ln" onclick="if (checkNum(this.form.display.value)) { ln(this.form) }"></td>
 
<td align="center"><input type="button" value="cos" onclick="if (checkNum(this.form.display.value)) { cos(this.form) }"></td>
<td align="center"><input type="button" value="sin" onclick="if (checkNum(this.form.display.value)) { sin(this.form) }"></td>
<td align="center"><input type="button" value="tan" onclick="if (checkNum(this.form.display.value)) { tan(this.form) }"></td>
 </tr>
</tbody></table>
</form>
    <script>
	
	
	element.addEventListener('click',compute(form));
function addChar(input, character) {
  
 
	if(input.value == null || input.value == "0")
		input.value = character;
 
	else
		input.value += character;
	 
	  
  
	}
 
 
function cos(form) {
	form.result.value = Math.cos(form.display.value);
}
function sin(form) {
	form.result.value = Math.sin(form.display.value);
}
function tan(form) {
	form.result.value = Math.tan(form.display.value);
}
function sqrt(form) {
	form.result.value = Math.sqrt(form.display.value);
}
function ln(form) {
	form.result.value = Math.log(form.display.value);
}
function exp(form) {
	form.result.value = Math.exp(form.display.value);
}
function deleteChar(input) {
	input.value = input.value.substring(0, input.value.length - 1)
}
function changeSign(input) {
	if(input.value.substring(0, 1) == "-")
		input.value = input.value.substring(1, input.value.length)
	else
		input.value = "-" + input.value
}
    function compute(form) {
 form.result.value = eval(form.display.value)
}
 
 
 
function square(form) {
	form.result.value = eval(form.display.value) * eval(form.display.value)
}
function checkNum(str) {
	for (var i = 0; i < str.length; i++) {
		var ch = str.substring(i, i+1)
		if (ch < "0" || ch > "9") {
			if (ch != "/" && ch != "*" && ch != "+" && ch != "-" && ch != "."
				&& ch != "(" && ch!= ")") {
				alert("invalid entry!")
				return false
				}
			}
		}
		return true
}
    </script>
  </body>
</html>
Вешаю на  elem.onclick =  function compute(form) { 
 form.result.value = eval(form.display.value) 
}   
не срабатывает  
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				10.10.2016, 05:56
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.07.2016 
					
					
					
						Сообщений: 1,332
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Капец. Я думал там производственный калькулятор, а он бытовой пишет. Скачай готовое и не мучайся. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				12.10.2016, 21:25
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.10.2016 
					
					
					
						Сообщений: 11
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Калькулятор специализированный это его шаблончик
			 
			
		
		
		
		мне нужно просто решение чтоб ответ появлялся в поле сам, без нажатия на =. кнопку = вобще удалить за ненадобностью 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				12.10.2016, 21:53
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Тлен 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 02.01.2010 
					
					
					
						Сообщений: 6,601
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
form.display.addEventListener('input', compute);
И в каждой функции что меняет  form.display.value добавить в конце  
compute();
  Что тут сложного?  
		
	
		
		
		
		
		
			
				__________________ 
				29375, 35 
 
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				14.10.2016, 12:54
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.10.2016 
					
					
					
						Сообщений: 11
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Мне сложно, я совсем не профи
			 
			
		
		
		
		Вот так нужно?  
 
function addChar(input, character) {
  	if(input.value == null || input.value == "0")
		input.value = character;
 	else
		input.value += character;
 return form.display.addEventListener('input', compute);
	}
<td align="center"  ><input type="button" value="2" onclick="addChar(this.form.display, '2' compute();)"></td>
 
не срабатывает  
Не менее важно, чем код, еще куда код вставить))  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				14.10.2016, 15:41
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.07.2016 
					
					
					
						Сообщений: 1,332
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от svinin_1989
			
		
	 | 
 
	| 
		'2'
	 | 
 
	
 
 Это что такое? Там же есть value="2"  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				14.10.2016, 15:44
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.07.2016 
					
					
					
						Сообщений: 1,332
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Короче, давай хтмл своего кулкулятора, который нужен, без абстракций, а то с таким уровнем боевой подготовки ты до победы не доживешь. ))) 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				14.10.2016, 16:52
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.10.2016 
					
					
					
						Сообщений: 11
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Вот такая заготовочка, пытаюсь избавится от кнопки =, лучший вариант наверно реакция
			 
			
		
		
		
		на нажатие цифр  
<!DOCTYPE HTML>
<html>
  <head> </head>
  <body>
 <font color="RED" size="18"> <B>CALC</B></font> <br/>
<form name="sci-calc">
<table table border="1"  >
<tbody> 
<tr>
<td align="center" style="background-color: red"  ><input type="button" value="1" onclick="addChar(this.form.display, '1') "></td>
<td align="center"  ><input type="button" value="2" onclick="addChar(this.form.display, '2' compute();)"></td>
<td align="center"  ><input type="button" value="3" onclick="addChar(this.form.display, '3')"></td>
<td align="center"  ><input type="button" value="4" onclick="addChar(this.form.display, '4')"></td>
<td align="center"  ><input type="button" value="5" onclick="addChar(this.form.display, '5')"></td>
<td align="center"  ><input type="button" value="6" onclick="addChar(this.form.display, '6')"></td>
<td align="center"><input type="button" value="7" onclick="addChar(this.form.display, '7')"></td>
<td align="center"><input type="button" value="8" onclick="addChar(this.form.display, '8')"></td>
<td align="center"><input type="button" value="9" onclick="addChar(this.form.display, '9')"></td>
<td align="center"><input type="button" value="0" onclick="addChar(this.form.display, '0')"></td>
<td align="center"><input type="button" value="." onclick="addChar(this.form.display, '.')  "></td>
</tr>
 
<tr>
<td colspan="6" align="center"><input name="display" value="0" size="55" maxlength="55"></td>
<td align="center"><input type="button" value="X" onclick="this.form.display.value = 0 "></td>
<td align="center"  ><input type="button" value="<" onclick="deleteChar(this.form.display)"></td>
<td align="center"><input type="button" value="=" name="enter" onclick="if (checkNum(this.form.display.value)) { compute(this.form) }"></td>
 <td colspan="3" align="center"><input name="result"   size="20" maxlength="20"></td>
<td align="center"><input type="button" value="X" onclick="this.form.result.value = 0 "></td>
<td align="center"  ><input type="button" value="<" onclick="deleteChar(this.form.result)"></td>
<td align="center"><input type="button" value="№" onclick="if (checkNum(this.form.display.value)) { sqrt(this.form) }"></td>
<td align="center"><input type="button" value="^2" onclick="if (checkNum(this.form.display.value)) { square(this.form) }"></td>
<td align="center"><input type="button" value="exp" onclick="if (checkNum(this.form.display.value)) { exp(this.form) }"></td>
</tr>
<tr>
 
<td align="center"><input type="button" value="*" onclick="addChar(this.form.display, '*')"></td>
<td align="center"><input type="button" value="-" onclick="addChar(this.form.display, '-')"></td>
  
<td align="center"><input type="button" value="/" onclick="addChar(this.form.display, '/')"></td>
<td align="center"><input type="button" value="+/-" onclick="changeSign(this.form.display)"></td>
<td align="center"><input type="button" value="+" onclick="addChar(this.form.display, '+')"></td>
 
<td align="center"><input type="button" value="(" onclick="addChar(this.form.display, '(')"></td>
<td align="center"><input type="button" value=")" onclick="addChar(this.form.display, ')')"></td>
<td align="center"><input type="button" value="ln" onclick="if (checkNum(this.form.display.value)) { ln(this.form) }"></td>
 
<td align="center"><input type="button" value="cos" onclick="if (checkNum(this.form.display.value)) { cos(this.form) }"></td>
<td align="center"><input type="button" value="sin" onclick="if (checkNum(this.form.display.value)) { sin(this.form) }"></td>
<td align="center"><input type="button" value="tan" onclick="if (checkNum(this.form.display.value)) { tan(this.form) }"></td>
 </tr>
</tbody></table>
</form>
    <script>
	
	
	element.addEventListener('click',compute(form));
function addChar(input, character) {
  
 
	if(input.value == null || input.value == "0")
		input.value = character;
 
	else
		input.value += character;
	 
	 
      
 return form.display.value
      
	}
 
 
form.display.addEventListener('input', compute);
function cos(form) {
	form.result.value = Math.cos(form.display.value);
}
function sin(form) {
	form.result.value = Math.sin(form.display.value);
}
function tan(form) {
	form.result.value = Math.tan(form.display.value);
}
function sqrt(form) {
	form.result.value = Math.sqrt(form.display.value);
}
function ln(form) {
	form.result.value = Math.log(form.display.value);
}
function exp(form) {
	form.result.value = Math.exp(form.display.value);
}
function deleteChar(input) {
	input.value = input.value.substring(0, input.value.length - 1)
}
function changeSign(input) {
	if(input.value.substring(0, 1) == "-")
		input.value = input.value.substring(1, input.value.length)
	else
		input.value = "-" + input.value
}
    function compute(form) {
 form.result.value = eval(form.display.value)
}
 
 
 
function square(form) {
	form.result.value = eval(form.display.value) * eval(form.display.value)
}
function checkNum(str) {
	for (var i = 0; i < str.length; i++) {
		var ch = str.substring(i, i+1)
		if (ch < "0" || ch > "9") {
			if (ch != "/" && ch != "*" && ch != "+" && ch != "-" && ch != "."
				&& ch != "(" && ch!= ")") {
				alert("invalid entry!")
				return false
				}
			}
		}
		return true
}
    </script>
  </body>
</html>
 
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |