Функция не выполняется
Есть поле для ввода:
<input id="ciField" name="field" type="Text" size=30 value="" width="300px"> Есть ввод: function take (num){ var middleNum; //переменная хранения промежуточного результата document.getElementById("ciField").value+=num; //накапливаем вводимые цифры в поле middleNum = document.getElementById("ciField").value; //перегоняем в промежуточную переменную return middleNum;//вохвращаем значение в ф-ю } А есть вызов обработчика вводимых результатов: td> <input name="Plus" type="Button" class="Blue" value="+" onclick="operations('+')" И есть сам обработчик: function operations(op){ var Md = take (num); // используем переменную из мервой функции if (op != "=") //если не равно = (равно) { switch(op) //перебор принимаемых значений { case "+": document.getElementById("ciField").value = ""; Md +=document.getElementById("ciField").value;}} else //иначе вывод document.getElementById("ciField").value = Md; } Слегка покомментил, для усвояемости, а ошибок тут не вижу. |
Цитата:
|
Через неё вводим в поле алфавит (от 0 до 9) кнопками, вызывая соответственно:
<td colspan="2"> <input id="buttWide" name="Zero" type="Button" class="Gray" value="0" onclick='take("0")' и.т.д до 9 |
Реструктурировал, выведя middNum в глобал (В JS так можно?) и функционирует, только + не выполняет...
|
|
В JS новичок так что с синтаксисом мог и ошибиться, сам алгоритм не выходит...
Вводим числа вызовом из html в форму function take (num){ document.getElementById("ciField").value+=num;} //вводим в поле первое число а далее передаем в следующую функцию знак операции и перед его анализом снова вызвать первую функцию для ввода второго операнда, эт застрявантуз, есть что предложить? function operation (op){ midVar = document.getElementById("ciField").value; //присваиваем промежуточной переменной document.getElementById("ciField").value = "";} // очищаем поле //на этом этапе надо снова вызвать первую функцию для ввода второго операнда if (op == "+"){ midVar += document.getElementById("ciField").value; } |
Satansoft,
может опишите алгорит того что должно быть? |
Аналог обыкновенного калькулятора под веб, застрял на схеме записи вводимых данных:
вводим первое число в поле ввода/вывода вводим знак операции заносим первое число в промежуточную переменную очищаем поле вводим второе число в поле ввода/вывода записываем результат операции содержимого поля и промежуточной переменной в промежуточную переменную выводим промежуточную переменную в поле ввода/вывода поле для ввода: <input id="ciField" name="field" type="Text" size=30 value="" width="300px"> смысл так же в том, что бы складывать можно было не 2 числа, а сколько места на "дисплее"(поле ввода/вывода) хватит. |
|
рони, по функционалу вижу, что простой, а по реализации не совсем понятно, да и графике я уделил 2 вечера html с CSS, только скриптом не вышло прикрутить две кнопки CE и % из-за спецификации ввода: 1234+567 в поле ввода/вывода. CE надлежит убрать эти 567, а как это сделать? А для подсчета %, необходимо сепарировать 1234 и 567, перезаписать в 2 переменные и подставить в формулу и как их на JS реализовать мне, на данном этапе, не ясно, а так, уже все готово.
|
Satansoft,
более ничем увы |
|
Часовой пояс GMT +3, время: 00:37. |