Javascript.RU

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

Элементарный подсчет и калькулятор
Здравствуйте, необходимо реализовать подсчет двух значений, при это одно значение задается пользователем, а второе фиксированное, но разных фиксированных значений есть 4 штуки. В общем должно получится что-то типа этого: https://obmennik.ws/ когда выбираешь валюты для обмена внизу под первым выпадающим меню появляется курс обмена, далее, при нажатии на кнопку "Обменять" нас редеректит на форму где вводятся значения ("Отдаёте:", "Получаете:"...), при вводе в форму значений появляется уже подсчитаное количество знаков которые нужно отдать/получить с учётом комиссии

Вопрос: Как мне всё это реализовать? Я понимаю, что это достаточно таки просто, но я не совсем хорошо знаю JavaScript т.к. усиленно учу PHP
Ответить с цитированием
  #2 (permalink)  
Старый 11.03.2012, 10:54
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Здравствуйте!

Судя по вашему сообщению, вы ну совсем не знаете javascript.

Освойте основы языка и вопрос отпадет сам, полностью или частично.
А с чем не справитесь - поможем.

На сайте javascript можно начать изучать с учебника, раздел Основы javascript.
Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/

Задавайте конкретные вопросы по ходу дела.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #3 (permalink)  
Старый 11.03.2012, 12:48
Новичок на форуме
Отправить личное сообщение для PashaShulga Посмотреть профиль Найти все сообщения от PashaShulga
 
Регистрация: 10.03.2012
Сообщений: 4

после PHP javascript кажется чем-то вот таким - И да, вы правы, я совсем его не знаю
Ответить с цитированием
  #4 (permalink)  
Старый 11.03.2012, 14:41
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от PashaShulga
я совсем его не знаю
Зато вы знаете что теперь делать.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #5 (permalink)  
Старый 14.03.2012, 17:51
Новичок на форуме
Отправить личное сообщение для PashaShulga Посмотреть профиль Найти все сообщения от PashaShulga
 
Регистрация: 10.03.2012
Сообщений: 4

function recalculate(operation, side)
		{
			switch(operation)
			{
				case 'z_to_r':
					var z = Math.round(document.zr.z_to_r_z.value*100)/100;
					var r = Math.round(document.zr.z_to_r_r.value*100)/100;
					if(side)
					{
						var new_r = Math.round((z*kursZR-z*kursZR*comissZR/100)*100)/100;
						if(new_r > maxR)
						{
							alert("В данный момент мы можем предложить только "+maxR+" WMR.");
							new_r = maxR;
							document.zr.z_to_r_z.value=Math.round((new_r/kursZR+new_r/kursZR*comissZR/100)*100)/100;
						}
						document.zr.z_to_r_r.value=new_r;
					}
					else
					{
						if(r > maxR)
						{
							alert("В данный момент мы можем предложить только "+maxR+" WMR.");
							r = maxR;
							document.zr.z_to_r_r.value=r;
						}
						document.zr.z_to_r_z.value=Math.round((r/kursZR+r/kursZR*comissZR/100)*100)/100;
					}
					break;
				case 'e_to_r':
					var e = Math.round(document.er.e_to_r_e.value*100)/100;
					var r = Math.round(document.er.e_to_r_r.value*100)/100;
					if(side)
					{
						var new_r = Math.round((e*kursER-e*kursER*comissER/100)*100)/100;
						if(new_r > maxR)
						{
							alert("В данный момент мы можем предложить только "+maxR+" WMR.");
							new_r = maxR;
							document.er.e_to_r_e.value=Math.round((new_r/kursER+new_r/kursER*comissER/100)*100)/100;
						}
						document.er.e_to_r_r.value=new_r;
					}
					else
					{
						if(r > maxR)
						{
							alert("В данный момент мы можем предложить только "+maxR+" WMR.");
							r = maxR;
							document.er.e_to_r_r.value=r;
						}
						document.er.e_to_r_e.value=Math.round((r/kursER+r/kursER*comissER/100)*100)/100;
					}
					break;

				case 'r_to_z':
					var r = Math.round(document.rz.r_to_z_r.value*100)/100;
					var z = Math.round(document.rz.r_to_z_z.value*100)/100;
					if(side)
					{
						var new_z = Math.round((r/kursZR-r/kursZR*comissRZ/100)*100)/100;
						if(new_z > maxZ)
						{
							alert("В данный момент мы можем предложить только "+maxZ+" WMZ.");
							new_z = maxZ;
							document.rz.r_to_z_r.value=Math.round((new_z*kursZR+new_z*kursZR*comissRZ/100)*100)/100;
						}
						document.rz.r_to_z_z.value=new_z;
					}
					else
					{
						if(z > maxZ)
						{
							alert("В данный момент мы можем предложить только "+maxZ+" WMZ.");
							z = maxZ;
							document.rz.r_to_z_z.value=z;
						}
						document.rz.r_to_z_r.value=Math.round((z*kursZR+z*kursZR*comissRZ/100)*100)/100;
					}
					break;
				case 'e_to_z':
					var e = Math.round(document.ez.e_to_z_e.value*100)/100;
					var z = Math.round(document.ez.e_to_z_z.value*100)/100;
					if(side)
					{
						var new_z = Math.round((e/kursZE-e/kursZE*comissEZ/100)*100)/100;
						if(new_z > maxZ)
						{
							alert("В данный момент мы можем предложить только "+maxZ+" WMZ.");
							new_z = maxZ;
							document.ez.e_to_z_e.value=Math.round((new_z*kursZE+new_z*kursZE*comissEZ/100)*100)/100;
						}
						document.ez.e_to_z_z.value=new_z;
					}
					else
					{
						if(z > maxZ)
						{
							alert("В данный момент мы можем предложить только "+maxZ+" WMZ.");
							z = maxZ;
							document.ez.e_to_z_z.value=z;
						}
						document.ez.e_to_z_e.value=Math.round((z*kursZE+z*kursZE*comissEZ/100)*100)/100;
					}
					break;

				case 'r_to_e':
					var r = Math.round(document.re.r_to_e_r.value*100)/100;
					var e = Math.round(document.re.r_to_e_e.value*100)/100;
					if(side)
					{
						var new_e = Math.round((r/kursER-r/kursER*comissRE/100)*100)/100;
						if(new_e > maxE)
						{
							alert("В данный момент мы можем предложить только "+maxE+" WME.");
							new_e = maxE;
							document.re.r_to_e_r.value=Math.round((new_e*kursER+new_e*kursER*comissRE/100)*100)/100;
						}
						document.re.r_to_e_e.value=new_e;
					}
					else
					{
						if(e > maxE)
						{
							alert("В данный момент мы можем предложить только "+maxE+" WME.");
							e = maxE;
							document.re.r_to_e_e.value=e;
						}
						document.re.r_to_e_r.value=Math.round((e*kursER+e*kursER*comissRE/100)*100)/100;
					}
					break;
				case 'z_to_e':
					var z = Math.round(document.ze.z_to_e_z.value*100)/100;
					var e = Math.round(document.ze.z_to_e_e.value*100)/100;
					if(side)
					{
						var new_e = Math.round((z*kursZE-z*kursZE*comissZE/100)*100)/100;
						if(new_e > maxE)
						{
							alert("В данный момент мы можем предложить только "+maxE+" WME.");
							new_e = maxE;
							document.ze.z_to_e_z.value=Math.round((new_e/kursZE+new_e/kursZE*comissZE/100)*100)/100;
						}
						document.ze.z_to_e_e.value=new_e;
					}
					else
					{
						if(e > maxE)
						{
							alert("В данный момент мы можем предложить только "+maxE+" WME.");
							e = maxE;
							document.ze.z_to_e_e.value=e;
						}
						document.ze.z_to_e_z.value=Math.round((e/kursZE+e/kursZE*comissZE/100)*100)/100;
					}
					break;

				default:
					break;
			}
		}

		function submit_form(operation)
		{
			switch(operation)
			{
				case 'z_to_r':
					Invoice = document.zr.z_to_r_z.value;
					Amount = document.zr.z_to_r_r.value;
					document.zr.Invoice.value = Invoice;
					if((!Invoice) || (Invoice == "") || (Invoice == 0))
					{
						alert("Укажите сумму к обмену!");
						return false;
					}
					else
					{
						if(isNaN(Invoice) || isNaN(Amount))
						{
							alert("При вводе суммы используйте только цифры и в качестве разделителя точку.");
							return false;
						}
						else
						{
							return true;
						}
					}
					break;
				case 'e_to_r':
					Invoice = document.er.e_to_r_e.value;
					Amount = document.er.e_to_r_r.value;
					document.er.Invoice.value = Invoice;
					if((!Invoice) || (Invoice == "") || (Invoice == 0))
					{
						alert("Укажите сумму к обмену!");
						return false;
					}
					else
					{
						if(isNaN(Invoice) || isNaN(Amount))
						{
							alert("При вводе суммы используйте только цифры и в качестве разделителя точку.");
							return false;
						}
						else
						{
							return true;
						}
					}
					break;

				case 'r_to_z':
					Invoice = document.rz.r_to_z_r.value;
					Amount = document.rz.r_to_z_z.value;
					document.rz.Invoice.value = Invoice;
					if((!Invoice) || (Invoice == "") || (Invoice == 0))
					{
						alert("Укажите сумму к обмену!");
						return false;
					}
					else
					{
						if(isNaN(Invoice) || isNaN(Amount))
						{
							alert("При вводе суммы используйте только цифры и в качестве разделителя точку.");
							return false;
						}
						else
						{
							return true;
						}
					}
					break;
				case 'e_to_z':
					Invoice = document.ez.e_to_z_e.value;
					Amount = document.ez.e_to_z_z.value;
					document.ez.Invoice.value = Invoice;
					if((!Invoice) || (Invoice == "") || (Invoice == 0))
					{
						alert("Укажите сумму к обмену!");
						return false;
					}
					else
					{
						if(isNaN(Invoice) || isNaN(Amount))
						{
							alert("При вводе суммы используйте только цифры и в качестве разделителя точку.");
							return false;
						}
						else
						{
							return true;
						}
					}
					break;

				case 'r_to_e':
					Invoice = document.re.r_to_e_r.value;
					Amount = document.re.r_to_e_e.value;
					document.re.Invoice.value = Invoice;
					if((!Invoice) || (Invoice == "") || (Invoice == 0))
					{
						alert("Укажите сумму к обмену!");
						return false;
					}
					else
					{
						if(isNaN(Invoice) || isNaN(Amount))
						{
							alert("При вводе суммы используйте только цифры и в качестве разделителя точку.");
							return false;
						}
						else
						{
							return true;
						}
					}
					break;
				case 'z_to_e':
					Invoice = document.ze.z_to_e_z.value;
					Amount = document.ze.z_to_e_e.value;
					document.ze.Invoice.value = Invoice;
					if((!Invoice) || (Invoice == "") || (Invoice == 0))
					{
						alert("Укажите сумму к обмену!");
						return false;
					}
					else
					{
						if(isNaN(Invoice) || isNaN(Amount))
						{
							alert("При вводе суммы используйте только цифры и в качестве разделителя точку.");
							return false;
						}
						else
						{
							return true;
						}
					}
					break;

				default:
					break;
			}
		}

Если можно - объясните мне, что здесь к чему обращается и как оно работает (нашёл скрипт в сети), с внешнего вида кода - вижу, что это оно. И как этот кода заставить работать ?
Ответить с цитированием
  #6 (permalink)  
Старый 14.03.2012, 21:42
Новичок на форуме
Отправить личное сообщение для PashaShulga Посмотреть профиль Найти все сообщения от PashaShulga
 
Регистрация: 10.03.2012
Сообщений: 4

Сообщение от Maxmaxmахimus Посмотреть сообщение
слишком много кода
Это как понять? По-сути должно больше быть, там не все направления.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Калькулятор + форма заказа jkdl Элементы интерфейса 8 15.09.2012 14:10
Jquery калькулятор lericen Элементы интерфейса 0 26.09.2011 15:24
калькулятор стоимости (где поправить) Mexis Общие вопросы Javascript 2 29.11.2010 16:03
Сделать калькулятор на сайт. asderru Работа 1 22.07.2010 13:46
Калькулятор работает ТОЛЬКО в ie6 (вопрос ламера) st_sinner Javascript под браузер 3 17.04.2010 18:11