Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.04.2012, 22:40
Аватар для Anastasiy17
Интересующийся
Отправить личное сообщение для Anastasiy17 Посмотреть профиль Найти все сообщения от Anastasiy17
 
Регистрация: 01.04.2012
Сообщений: 16

Арифметические действия
Вот такая задачка:
Создайте Web-страницу, в которой выполняются арифметические действия над двумя операндами. В первом текстовом поле вводятся два числовых операнда, между которыми должен находиться один из знаков арифметических действий: "+", "-", "*" или "/". При нажатии кнопки "Вычислить" выполняется соответствующая арифметическая операция, и результат выводится во втором текстовом поле. Если введенный операнд не является правильным арифметическим выражением, во втором текстовом поле выводится сообщение "Ошибка".

Я не могу понять алгоритм, как в одной строке писати числа и оно будет их просчитывать....
Я начинала писать код, если вводить в 2 рядках, и потом это применить к своему заданию:
<script>

function calc1 () {
var a1=document.getElementById("1st");
var a2=document.getElementById("2nd");
var pRez=document.getElementById("rezult");
if (parseInt(a1.value)&&parseInt(a2.value)) {
	var rez=parseInt(a1.value)+parseInt(a2.value);
	pRez.value=rez;

Но пока безуспешно....
Может у кого то есть идеи что бы каждое действие описывалось. Ну тоисть провирялось введеное, а потом если там есть +-*/ выполнялось действие. Никак не могу понять как это зделать)
Посмотрите, пожалуйста)

Последний раз редактировалось Anastasiy17, 12.04.2012 в 20:52.
Ответить с цитированием
  #2 (permalink)  
Старый 10.04.2012, 23:03
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

if( parseInt("1"))
 {
alert(1)
}


if( parseInt("n1"))
 {
alert(1)
}
else alert(2)

Последний раз редактировалось dmitriymar, 10.04.2012 в 23:07.
Ответить с цитированием
  #3 (permalink)  
Старый 10.04.2012, 23:15
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

<!DOCTYPE html>
<html>
	<head>
		<title>Простой калькулятор</title>
	</head>
	<body>
		<input type = "text" id = "forCalculate">
		<input type = "button" value = "Вычислить" id = "run">
		<input type = "text" id = "result" disabled>
		<script>
			function gid(id) {
				return document.getElementById(id);
			}
			
			gid("run").onclick = function() {
				var res, errMsg = "Ошибка";
				try {
					res = eval(gid("forCalculate").value)
				} catch(e) {
					res = errMsg;
				}
				
				if(isNaN(+res)) res = errMsg;
				
				gid("result").value = res; 
			}
		</script>
	</body>
</html>

В лом писать много, предлагаю простой вариант.

Последний раз редактировалось GuardCat, 10.04.2012 в 23:24.
Ответить с цитированием
  #4 (permalink)  
Старый 10.04.2012, 23:25
Аватар для Anastasiy17
Интересующийся
Отправить личное сообщение для Anastasiy17 Посмотреть профиль Найти все сообщения от Anastasiy17
 
Регистрация: 01.04.2012
Сообщений: 16

GuardCat,
Большое спасибо!)
Но у меня есть вопрос, какая функцию выполняет gid?
Просто я представляла себе эту програму, в плане, что нада описывать каждую операцию (+-*/).
Ответить с цитированием
  #5 (permalink)  
Старый 10.04.2012, 23:30
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

gid в данном случае --- просто сокращение, чтобы не писать всё время document.getElementById. Посмотрите, эта функция в начале же описана. Как вы представляли понял, делать так не вижу смысла и просто ленюсь. Отлично работает eval, к тому же с ним можно вводить длинные выражения (2 + 7 - 89 + 767 / 11 * 8).
Ответить с цитированием
  #6 (permalink)  
Старый 11.04.2012, 01:05
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #7 (permalink)  
Старый 11.04.2012, 01:12
Аватар для Anastasiy17
Интересующийся
Отправить личное сообщение для Anastasiy17 Посмотреть профиль Найти все сообщения от Anastasiy17
 
Регистрация: 01.04.2012
Сообщений: 16

FINoM,
Извените, а что это означает?
Ответить с цитированием
  #8 (permalink)  
Старый 11.04.2012, 06:09
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

FINoM, шутку юмора оценил. Да-да, можно не только вычислять, но ещё и скрипты писать в том поле. В какой-то теме melky (по-моему) рассказывал о последствиях такого ужаса: теперь пользователь сможет сам у себя украсть куки и логиниться под собой на всех сайтах.
Ответить с цитированием
  #9 (permalink)  
Старый 12.04.2012, 20:43
Аватар для Anastasiy17
Интересующийся
Отправить личное сообщение для Anastasiy17 Посмотреть профиль Найти все сообщения от Anastasiy17
 
Регистрация: 01.04.2012
Сообщений: 16

Может у кого то есть идеи что бы каждое действие описывалось. Ну тоисть провирялось введеное, а потом если там есть +-*/ выполнялось действие. Посмотрите пожалуйста) Никак не могу понять как это зделать)
Ответить с цитированием
  #10 (permalink)  
Старый 13.04.2012, 00:55
Аватар для Anastasiy17
Интересующийся
Отправить личное сообщение для Anastasiy17 Посмотреть профиль Найти все сообщения от Anastasiy17
 
Регистрация: 01.04.2012
Сообщений: 16

GuardCat,
Могли бы Вы объяснить, как именно работает даная програма.В особенно сти эта часть:
try {
res = eval(gid("forCalculate").value)
} catch(e) {
res = errMsg;
}

if(isNaN(+res)) res = errMsg;

gid("result").value = res;
}
Извените, еще раз за беспокойство. Просто очень нада именно понять програму)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определения действия Forum3 Events/DOM/Window 4 16.01.2012 11:35
Выполнить 2 разных действия при одном запросе. Gesandte AJAX и COMET 12 18.12.2011 16:53
Совершение действия при удерживании клавиши BorodinKO Общие вопросы Javascript 3 26.06.2011 00:59
Совершение действия через опредилённое время. (Sandr) Общие вопросы Javascript 15 15.04.2011 23:40
После первого действия скрипт перестает работать cyberx jQuery 6 12.06.2010 22:04