Необходимо написать калькулятор. Все вроде получилось, но вот с кнопкой 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>