JavaScript калькулятор - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming

Программирование / Programming
Ищете помощи в написании программы, есть сложность в выполнении задания (в институте и т.д.), пожалуйста, спросите у нас в данном форуме и мы обязательно вам поможем.

Ответ
Опции темы
Непрочитано 22.11.2015, 16:05   #1
Пользователь

Автор темы (Топик Стартер) JavaScript калькулятор

Всем привет. Пишу калькулятор для расчета стоимости заказа.
-
Функционал написал, возникла проблема. Нужно в формулу расчета вставлять курс валюты.

Парсер валюты написал

Код:
<?php
$today = date("d/m/Y");
 $fp = fopen('cb.xml', 'w');
 $ch = curl_init();
curl_setopt($ch, CURLOPT_URL,
      'http://www.cbr.ru/scripts/XML_daily.asp?date_req='.$today);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_exec($ch);
fclose($fp);
curl_close ($ch);
?>
Получаю нужный курс

Код:
<script src="http://code.jquery.com/jquery-latest.js";></script>
	<SCRIPT>
$(document).ready(function () {
 $.ajax({
 type: "GET",
 async : false,
 url: "cb.xml",
 dataType: "xml",
 success: XmlKurs
 });
function XmlKurs (xml) {
$(xml).find("Valute").each(function(){
if($(this).attr('ID')=='R01239') {
p=$(this).find("Value").text();
$("p").append(document.getElementById('tcena').value()*$(this).find("Value"));

 }
 });
}
 });
</script>
Есть формула

Код:
S = (Pbum + Ppec + Potd)*Euro;
Переменная Euro должна получаться автоматом из парсера


Объявляю функцию

Код:
		var Euro = new function () {
		$(document).ready(function () {
 $.ajax({
 type: "GET",
 async : false,
 url: "cb.xml",
 dataType: "xml",
 success: XmlKurs
 });
function XmlKurs (xml) {
$(xml).find("Valute").each(function(){
if($(this).attr('ID')=='R01239') {
d=$(this).find("Value").text();
$("p").append(document.getElementById('Euro').value()*$(this).find("Value"));
 }
 });
}
 });

		}
Код HTML:
-В итоге получаю ответ на расчет-
Общая стоимость -= Na руб.
Стоимость 1 экземпляра = Na руб.
Вопрос, что я не так делаю и как подставить число из функции в формулу?
Antonio вне форума Ответить с цитированием
Непрочитано 22.11.2015, 16:25   #2
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: JavaScript калькулятор

UPDATE. Я понял, вы в файл сбрасываете.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 22.11.2015, 16:27   #3
Пользователь

Автор темы (Топик Стартер) Re: JavaScript калькулятор

Цитата:
Сообщение от PROGRAMMATOR Посмотреть сообщение
Парсер, ничего не возвращает в вашем коде. Результат содержится в curl_exec().
По факту я могу вывести курс в HTML виде на страницу. Суть в том, что число я получаю. Но как мне его в формулу вставить?
Antonio вне форума Ответить с цитированием
Непрочитано 22.11.2015, 16:53   #4
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: JavaScript калькулятор

Так а формула где находится?
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 22.11.2015, 17:01   #5
Пользователь

Автор темы (Топик Стартер) Re: JavaScript калькулятор

Формула находится в HTML страничке
Скрипт:
Свернуть ↑Развернуть ↓

Последний раз редактировалось Antonio; 22.11.2015 в 17:03. Причина: Правка BB
Antonio вне форума Ответить с цитированием
Непрочитано 22.11.2015, 17:23   #6
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: JavaScript калькулятор

Это уже обфускацию прошло или такой стиль?

Пропишите после формулы:

console.log(Pbum, Ppec, Potd, Euro);
Code: Javascript
Сообщите что возвращает в консоль браузера. Очень похоже на то, что множится на строку.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 22.11.2015, 17:25   #7
Пользователь

Автор темы (Топик Стартер) Re: JavaScript калькулятор

Цитата:
Сообщение от PROGRAMMATOR Посмотреть сообщение
Это уже обфускацию прошло или такой стиль?

Пропишите после формулы:

console.log(Pbum, Ppec, Potd, Euro);
Code: Javascript
Сообщите что возвращает в консоль браузера. Очень похоже на то, что множится на строку.
Возможно у меня мало опыта еще в JS, но код вроде чистый

Вот что пишет консоль
Код HTML:
Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.
jquery-latest.js:9183 Uncaught TypeError: Cannot read property 'value' of null
После запуска расчета

Код HTML:
jquery-latest.js:9592 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.
jquery-latest.js:9183 Uncaught TypeError: Cannot read property 'value' of null(anonymous function) @ test.htm:27jQuery.extend.each @ jquery-latest.js:383jQuery.fn.jQuery.each @ jquery-latest.js:136XmlKurs @ test.htm:24fire @ jquery-latest.js:3119self.fireWith @ jquery-latest.js:3231done @ jquery-latest.js:9275callback @ jquery-latest.js:9685send @ jquery-latest.js:9691jQuery.extend.ajax @ jquery-latest.js:9176(anonymous function) @ test.htm:16fire @ jquery-latest.js:3119self.fireWith @ jquery-latest.js:3231jQuery.extend.ready @ jquery-latest.js:3443completed @ jquery-latest.js:3474
test.htm:182 0.0540225 109.2 14.59 Object {}

Последний раз редактировалось Antonio; 22.11.2015 в 17:28. Причина: Добавил код
Antonio вне форума Ответить с цитированием
Непрочитано 22.11.2015, 17:37   #8
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: JavaScript калькулятор

Ну вот, вы умножаете на Euro, который является объектом.
Так же выше ругается на:

document.getElementById('Euro').value()
Code: Javascript

Да и не нужно смешивать код, раз используете jQuery то и пишите $('#Euro').val()
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 22.11.2015, 17:44   #9
Пользователь

Автор темы (Топик Стартер) Re: JavaScript калькулятор

PHP код:
$(document).ready(function () {
 $.
ajax({
 
type"GET",
 
async false,
 
url"cb.xml",
 
dataType"xml",
 
successXmlKurs
 
});
function 
XmlKurs (xml) {
$(
xml).find("Valute").each(function(){
if($(
this).attr('ID')=='R01239') {
d=$(this).find("Value").text();
 $(
'#Euro').val()
 }
 });
}
 }); 
Cломался калькулятор совсем
Antonio вне форума Ответить с цитированием
Непрочитано 22.11.2015, 17:59   #10
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: JavaScript калькулятор

Логично, ведь имелось ввиду так:

$("p").append($("#Euro").val() * $(this).find("Value"));
Code: Javascript

Но стоит учесть, что это умножение на строку. Данные полученные с DOM нужно привести к нужному типу, используя к примеру parseFloat(), parseInt(). Пример:

$.ajax({
	url: 'cb.xml',
	dataType: 'xml'
}).done(function (xml) {
	$(xml).find('Valute').each(function () {
		if ($(this).attr('ID') == 'R01239') {
			var currency = parseFloat($(this).find('Value')
					.text().replace(',', '.'));
			var price = parseFloat($('#Euro').val());
 
			$('p').append(price * currency);
		}
	});
});
Code: Javascript
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Javascript сортировка массива Virt Программирование / Programming 5 04.05.2013 13:47
Skype API JavaScript [STIGMATED] Курилка / Yak floor 14 05.03.2013 03:57
Интеграция -- JavaScript -> Java ZhukV Lineage II 2 04.05.2011 21:17
Php, java, javascript програмист noith Рынок / Marketplace 4 05.08.2010 11:37


© 2007–2023 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 20:46. Часовой пояс GMT +3.

Вверх