Javascript.RU

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

Функция не выполняется
Есть поле для ввода:
<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;
}


Слегка покомментил, для усвояемости, а ошибок тут не вижу.
Ответить с цитированием
  #2 (permalink)  
Старый 28.01.2015, 11:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 32,187

Сообщение от Satansoft
02var Md = take (num); // используем переменную из мервой функции
и чему равно num???
Ответить с цитированием
  #3 (permalink)  
Старый 28.01.2015, 16:15
Интересующийся
Отправить личное сообщение для Satansoft Посмотреть профиль Найти все сообщения от Satansoft
 
Регистрация: 28.01.2015
Сообщений: 10

Через неё вводим в поле алфавит (от 0 до 9) кнопками, вызывая соответственно:

<td colspan="2"> <input id="buttWide" name="Zero" type="Button" class="Gray" value="0" onclick='take("0")'


и.т.д до 9
Ответить с цитированием
  #4 (permalink)  
Старый 28.01.2015, 16:27
Интересующийся
Отправить личное сообщение для Satansoft Посмотреть профиль Найти все сообщения от Satansoft
 
Регистрация: 28.01.2015
Сообщений: 10

Реструктурировал, выведя middNum в глобал (В JS так можно?) и функционирует, только + не выполняет...
Ответить с цитированием
  #5 (permalink)  
Старый 28.01.2015, 17:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 32,187

Satansoft,
http://javascript.ru/switch
http://javascript.ru/if
http://habrahabr.ru/post/237569/
Input Type: number
Ответить с цитированием
  #6 (permalink)  
Старый 28.01.2015, 19:22
Интересующийся
Отправить личное сообщение для Satansoft Посмотреть профиль Найти все сообщения от Satansoft
 
Регистрация: 28.01.2015
Сообщений: 10

В 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, 28.01.2015 в 19:25.
Ответить с цитированием
  #7 (permalink)  
Старый 28.01.2015, 19:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 32,187

Satansoft,
может опишите алгорит того что должно быть?
Ответить с цитированием
  #8 (permalink)  
Старый 28.01.2015, 19:50
Интересующийся
Отправить личное сообщение для Satansoft Посмотреть профиль Найти все сообщения от Satansoft
 
Регистрация: 28.01.2015
Сообщений: 10

Аналог обыкновенного калькулятора под веб, застрял на схеме записи вводимых данных:

вводим первое число в поле ввода/вывода
вводим знак операции
заносим первое число в промежуточную переменную
очищаем поле
вводим второе число в поле ввода/вывода
записываем результат операции содержимого поля и промежуточной переменной в промежуточную переменную
выводим промежуточную переменную в поле ввода/вывода

поле для ввода:
<input id="ciField" name="field" type="Text" size=30 value="" width="300px">


смысл так же в том, что бы складывать можно было не 2 числа, а сколько места на "дисплее"(поле ввода/вывода) хватит.

Последний раз редактировалось Satansoft, 28.01.2015 в 19:57.
Ответить с цитированием
  #9 (permalink)  
Старый 28.01.2015, 20:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 32,187

Satansoft,
простой калькулятор
Ответить с цитированием
  #10 (permalink)  
Старый 28.01.2015, 21:20
Интересующийся
Отправить личное сообщение для Satansoft Посмотреть профиль Найти все сообщения от Satansoft
 
Регистрация: 28.01.2015
Сообщений: 10

рони, по функционалу вижу, что простой, а по реализации не совсем понятно, да и графике я уделил 2 вечера html с CSS, только скриптом не вышло прикрутить две кнопки CE и % из-за спецификации ввода: 1234+567 в поле ввода/вывода. CE надлежит убрать эти 567, а как это сделать? А для подсчета %, необходимо сепарировать 1234 и 567, перезаписать в 2 переменные и подставить в формулу и как их на JS реализовать мне, на данном этапе, не ясно, а так, уже все готово.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не вызывается функция при изменении option soft4you Общие вопросы Javascript 1 23.07.2014 16:41
AJAX функция для новых html-элементов broadcast77 AJAX и COMET 25 03.03.2014 12:01
Не выполняется внутри JQuery.post frundik Элементы интерфейса 3 14.08.2012 10:35
Условие: если функция выполняется raler jQuery 5 20.04.2011 23:06
Выполняется функция, а все что написано после нее игнорируется, libinstyle Элементы интерфейса 4 24.03.2010 15:44