Javascript.RU

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

Не получается вывести число в input JQuery
Необходимо написать калькулятор. Все вроде получилось, но вот с кнопкой M много вопросов. Если поле памяти пусто, нужно вывести в него результат, а если не пусто, то прибавить к нему полученный результат. Много что попробовал, но выводит либо NaN, либо object htmlinputelement . Уже долго не могу понять, где ошибка.
За дерьмокод прошу прощения, только учусь.
Помогите, пожалуйста, разобраться.

<!DOCTYPE html>
<head>
	<title>Страница</title>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
	<script type="text/javascript" src="/../js/calculator.js"></script>
</head>
<body>
	<form id = "calc">
		<label>Первое число:</label><input type="text" name="first"/>
		<label>Второе число:</label><input type="text" name="second"/>
        <input type="button" name = "plus" value="+"/>
		<input type="button" name = "minus" value="-"/>
		<input type="button" name = "div" value="/"/>
		<input type="button" name = "umn" value="*"/>
		<input type="button" name = "pow" value="x^Y"/>
		<input type="button" name = "mry" value="M"/>
		<input type="button" name = "clean" value="C"/>
		<label>Результат:</label><input readonly type="text" name="result" id = "result" placeholder="Ответ"/>
		<label>Память:</label><input readonly type="number"  id="mem" name="mem" placeholder="Память"/>
	</form>
</body>
<style>
    input {
	outline:none;
}

div {
	margin:10px 0;
	text-align:center;
}

	div label {
		margin:0 10px 0 0;
	}

	div input[type=text] {
		padding:6px 10px;
		border-radius:10px;
		border:1px solid #000033;
	}
	
	div input[type=button] {
		padding:6px 10px;
		border-radius:10px;
		font-size:16px;
		border:1px solid #000033;
		cursor:pointer;
	}
</style>
<script> 
var output;
var NewRes;
	$("input[name=plus]").click( function () { 
		var first = $("input[name=first]").val() * 1;
		var second = $("input[name=second]").val() * 1; 
		var result; 
			result = +first + second;
			NewRes = result;
			output = $("input[name=result]").val(result);
});
$("input[name=minus]").click( function () { 
	var action = $("select[name=action]").val(); 
		var first = $("input[name=first]").val() * 1; 
		var second = $("input[name=second]").val() * 1; 
		var result; 
		var output;
			result = Number(first) - Number(second);
			NewRes = result;
			output = $("input[name=result]").val(result);
			window.alert(result);
});
$("input[name=div]").click( function () { 
		var first = $("input[name=first]").val() * 1; 
		var second = $("input[name=second]").val() * 1; 
		var result; 
		var output;
			result = first / second;
			NewRes = result;
			output = $("input[name=result]").val(result);
});
$("input[name=pow]").click( function () { 
		var first = $("input[name=first]").val() * 1; 
		var second = $("input[name=second]").val() * 1;
		var result; 
		var output;
			result = +Math.pow(first, second);
			NewRes = result;
			output = $("input[name=result]").val(result);
});
$("input[name=umn]").click( function () { 
		var first = $("input[name=first]").val() * 1; 
		var second = $("input[name=second]").val() * 1; 
		var result; 
		var output;
			result = first * second;
			NewRes = result;
			output = $("input[name=result]").val(result);
});
$("input[name=mry]").click(function() {
var Memory;
var OutMem;
	if (mem < 1) {
		Memory = result;
		window.alert(Memory);	
		OutMem = $("input[name=result]").val(Memory);
	}
	});				
$("input[name=clean]").click(function() {
	$('#calc')[0].reset();
});
</script>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 19.11.2021, 00:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Espidsdfeer,
что такое mem строка 102?
Ответить с цитированием
  #3 (permalink)  
Старый 19.11.2021, 00:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от Espidsdfeer
Если поле памяти пусто, нужно вывести в него результат, а если не пусто, то прибавить к нему полученный результат.
$("input[name=mry]").click(function() {
mem.value = (+mem.value || 0) + (+result.value||0);
    });
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Восьмиричное число в input Morris Элементы интерфейса 1 08.02.2021 10:42
Как округлить число до сотых в input? Alexprom Общие вопросы Javascript 4 01.12.2020 21:23
как вывести текст с двух input leon2009sp Общие вопросы Javascript 1 30.03.2020 18:21
jQuery watermark input field jquery_watermark Armen jQuery 4 29.12.2009 23:15
jquery - случайное число ivanweb jQuery 1 07.09.2009 13:29