Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 125
1

Выполнение JavaScript

10.12.2015, 11:15. Показов 427. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!
Переношу онлайн калькулятор натяжных потолков с другого сайта, где он благополучно работает.
Пока пытаюсь запустить просто в php файле
Подключаю в начале файла
HTML5
1
<script type="text/javascript" src="calc.js"></script>
Не работает, проверяю подключение, ставлю в начале файла
Javascript
1
alert("Javacript подключен");
Файл подключен, ставлю после функции, ни чего не происходит
Даю полный код JS может кто направит меня на верный путь
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
$(document).ready(function(){ 
  var city = 1;
  var matr = 2;
  var cen = 2;
  var fact = $("select#fmcalc_texture option:selected" ).attr('data');
  var width = parseFloat($("select[name=width]").val());
  var length = parseFloat($("input#fmcalc_length").val());
  var area = parseFloat(width*length);
      if (area < 10 && fact == 1){
      }else if (area > 10 && area < 25){
         cen = 3;
      }else if (area > 25 && area < 50){
         cen = 4;
      }else if (area > 50 && area < 100){
         cen = 5;
      }else if (area > 100 && area < 200){
         cen = 6;
      }else if (area > 200){
         cen = 7;
      }
  var price = parseInt($("div#tab"+city+" tr:nth-of-type("+matr+") td:nth-of-type("+cen+") span.price").text());
         var cost = parseFloat(width*length*price);
          cost = parseFloat(cost.toFixed(1));
          $("input#fmcalc_cost").val(cost);
         
  
  $("#fmcalc_width option").addClass("cell");
       
      if (fact == "1"){
        
        $("#fmcalc_width option").addClass("cell");
        $("#fmcalc_width option[data='1']").removeClass('cell');
      }else if (fact == "2"){
        
        $("#fmcalc_width option").addClass("cell");
          $("#fmcalc_width option[data='2']").removeClass('cell');
      }else if (fact == "3"){
        $("#fmcalc_width option").addClass("cell");
          $("#fmcalc_width option[data='3']").removeClass('cell');
      }else if (fact == "4"){
        $("#fmcalc_width option").addClass("cell");
          $("#fmcalc_width option[data='4']").removeClass('cell');
      }
 
 
$("select#fmcalc_texture").change(function() {
      fact = $("select#fmcalc_texture option:selected" ).attr('data');
      
      if (fact == "1"){
        $("#fmcalc_width option").addClass("cell");
        $("#fmcalc_width option[data='1']").removeClass('cell');
      }else if (fact == "2"){
        $("#fmcalc_width option").addClass("cell");
          $("#fmcalc_width option[data='2']").removeClass('cell');
      }else if (fact == "3"){
        $("#fmcalc_width option").addClass("cell");
          $("#fmcalc_width option[data='3']").removeClass('cell');
      }else if (fact == "4"){
        $("#fmcalc_width option").addClass("cell");
          $("#fmcalc_width option[data='4']").removeClass('cell');
      }
      matr = parseInt($("select#fmcalc_texture option:selected" ).attr('data')) + 1;
      width = parseFloat($("select[name=width]").val());
      length = parseFloat($("input#fmcalc_length").val());
      area = parseFloat(width*length);
     if (area < 10){
      }else if (area > 10 && area < 25){
         cen = 3;
      }else if (area > 25 && area < 50){
         cen = 4;
      }else if (area > 50 && area < 100){
         cen = 5;
      }else if (area > 100 && area < 200){
         cen = 6;
      }else if (area > 200){
         cen = 7;
      }
  price = parseInt($("div#tab"+city+" tr:nth-of-type("+matr+") td:nth-of-type("+cen+") span.price").text());
         cost = parseFloat(width*length*price);
          cost = parseFloat(cost.toFixed(1));
          $("input#fmcalc_cost").val(cost);
 
       });  
$("select#fmcalc_width").change(function() {
      width = parseFloat($("select[name=width]").val());
      length = parseFloat($("input#fmcalc_length").val());
      area = parseFloat(width*length);
      if (area < 10 && fact == 1){
      }else if (area > 10 && area < 25){
         cen = 3;
      }else if (area > 25 && area < 50){
         cen = 4;
      }else if (area > 50 && area < 100){
         cen = 5;
      }else if (area > 100 && area < 200){
         cen = 6;
      }else if (area > 200){
         cen = 7;
      }
  price = parseInt($("div#tab"+city+" tr:nth-of-type("+matr+") td:nth-of-type("+cen+") span.price").text());
         cost = parseFloat(width*length*price);
          cost = parseFloat(cost.toFixed(1));
          $("input#fmcalc_cost").val(cost);
 
   });  
$("input#fmcalc_length").keyup(function() { 
    width = parseFloat($("select[name=width]").val());
      length = parseFloat($("input#fmcalc_length").val());
      area = parseFloat(width*length);
     if (area < 10 && fact == 1){
      }else if (area > 10 && area < 25){
         cen = 3;
      }else if (area > 25 && area < 50){
         cen = 4;
      }else if (area > 50 && area < 100){
         cen = 5;
      }else if (area > 100 && area < 200){
         cen = 6;
      }else if (area > 200){
         cen = 7;
      }
  price = parseInt($("div#tab"+city+" tr:nth-of-type("+matr+") td:nth-of-type("+cen+") span.price").text());
         cost = parseFloat(width*length*price);
          cost = parseFloat(cost.toFixed(1));
          $("input#fmcalc_cost").val(cost);
 
});
 
  
   
});
Спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2015, 11:15
Ответы с готовыми решениями:

Выполнение Javascript файла в котором присутствуют javascript теги
text1.js &lt;link href='http://alexgorbatchev.com/pub/sh/2.1.364/styles/shCore.css'...

Javascript - выполнение функции
Код: &lt;a onclick='SomeFunction(SomeField.value, &quot;SomeValue&quot;)' href='#'&gt;SomeLink&lt;/a&gt; function...

Выполнение JavaScript из текста
Добрый день! Подскажите пожалуйста, как мне из текста, который содержит JS (только JS)...

Предотвратить выполнение JavaScript функции
Доброго времени суток. Есть некоторый сайт, на котором может отображаться произвольная строка,...

4
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
10.12.2015, 20:46 2
Цитата Сообщение от xBios Посмотреть сообщение
Всем привет!
Переношу онлайн калькулятор натяжных потолков с другого сайта, где он благополучно работает.
Пока пытаюсь запустить просто в php файле
Подключаю в начале файла
HTML5
1
<script type="text/javascript" src="calc.js"></script>
Не работает, проверяю подключение, ставлю в начале файла
Javascript
1
alert("Javacript подключен");
Файл подключен, ставлю после функции, ни чего не происходит
Сначала надо подключить jQuery, а потом уже подключить ваш скрипт.
1
1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 125
11.12.2015, 08:29  [ТС] 3
Здравствуйте!
Подключил jquery, allert стал выполнятся, но код ничего не считает и в строке расчета пишет NaN(я так понял ошибка в мат. операции), но код то не изменялся, чувствую что упустил какую то мелочь.
На всякий случай прилагаю код html. Может у вас получится что то обнаружить. Спасибо.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<HTML>
<head>
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
   <script type="text/javascript" src="calc.js"></script>
</head>
<body>
<div class="content">
<h2>Рассчитать стоимость потолка</h2>
    <div class="fmc2_body">
    <form action="javascript:void(null);" method="post" id="calc_form">
        <div class="fmc2_col1">
            <h2>Рассчитать стоимость потолка</h2>
            <div class="field-box" style="display:none;">
                <label for="fmcalc_city">Выберите город<span>*</span></label> 
                <select id="fmcalc_city" name="city">
 
                    <option data="1" value="Севастополь" selected>Севастополь</option><option data="2" value="Инкерман">Инкерман</option><option data="3" value="Балаклава">Балаклава</option><option data="4" value="Бахчисарай">Бахчисарай</option><option data="5" value="Евпатория">Евпатория</option><option data="6" value="Саки">Саки</option><option data="7" value="Черноморское">Черноморское</option><option data="8" value="Джанкой">Джанкой</option><option data="9" value="Красноперекопск">Красноперекопск</option><option data="10" value="Армянск">Армянск</option><option data="11" value="Симферополь">Симферополь</option><option data="12" value="Белогорск">Белогорск</option><option data="13" value="Ялта">Ялта</option><option data="14" value="Алушта">Алушта</option><option data="15" value="Алупка">Алупка</option><option data="16" value="Форос">Форос</option><option data="17" value="Гурзуф">Гурзуф</option><option data="18" value="Партенит">Партенит</option><option data="19" value="Феодосия">Феодосия</option><option data="20" value="Судак">Судак</option><option data="21" value="Старый Крым">Старый Крым</option><option data="22" value="Приморский">Приморский</option><option data="23" value="Коктебель">Коктебель</option><option data="24" value="Керчь">Керчь</option><option data="25" value="Щёлкино">Щёлкино</option></select>
                    <label id="city_error" class="error"></label>
            </div>
            <h3>Введите параметры потолка</h3>
            <div  class="field-box">
                <label for="fmcalc_texture">Фактура<span>*</span></label> 
                <select id="fmcalc_texture" name="texture" onChange="Selected(this)"><option data="1"  value="Глянцевая">Глянцевая</option><option data="2" value="Матовая">Матовая</option><option data="3" value="Сатиновая">Сатиновая</option><option data="4" value="Тканевая">Тканевая</option></select>
                <label id="texture_error" class="error"></label>
            </div>
            
 
            <div class="field-box">
                <label for="fmcalc_width">Ширина полотен, м<span>*</span></label> 
                <select id="fmcalc_width" name="width">
                    <option data="1" value="1.40" >1.40</option><option data="2" value="2.0"  >2.0</option><option data="2" value="2.4"  >2.4</option><option data="2" value="2.7"  >2.7</option><option data="2" value="3.2"  >3.2</option><option data="2" value="4.0"  >4.0</option><option data="2" value="4.5"  >4.5</option><option data="2" value="5.0"  >5.0</option><option data="3" value="2.0"  >2.0</option><option data="3" value="2.7" >2.7</option><option data="3" value="3.2" >3.2</option><option data="3" value="4.0" >4.0</option><option data="3" value="4.5" >4.5</option><option data="3" value="5.0" >5.0</option><option data="4" value="3.1" >3.1</option><option data="4" value="3.5" >3.5</option><option data="4" value="4.1" >4.1</option><option data="4" value="4.5" >4.5</option><option data="4" value="5.1" >5.1</option>
                </select>
                <!--<input type="text" id="fmcalc_width" name="width" maxlength="8" value="0">-->
            </div>
            <div class="field-box">
                <label for="fmcalc_length">Длина, м<span>*</span></label> 
                <input type="text" id="fmcalc_length" name="length" maxlength="8" value="0">
                <label id="length_error" class="error"></label>
            </div>
            
            <div  class="field-box">
                <label  for="fmcalc_cost">Стоимость, руб</label> 
                <input type="text" id="fmcalc_cost" name="cost" readonly  value="" readonly="readonly" style="font-weight:bold">
                <label  id="fmcalc_area"></label>
            </div>
        </div>
        <div class="fmc2_col2">
            <h2>Сделать заказ</h2>
 
            <div class="field-box">
                <label for="fmcalc_call_name">Имя<span>*</span></label>
                <input name="fullname" id="fmcalc_call_name" type="text" value="">
                <label id="call_name_error" class="error"></label>
            </div>
            <div class="field-box">
                <label for="fmcalc_call_phone">Телефон<span>*</span></label>
                <input name="phone" id="fmcalc_call_phone" type="text" value="">
                <label id="call_phone_error" class="error"></label>
 
            </div>
            <div class="field-box">
                <label for="fmcalc_call_message">Комментарий</label>
                <textarea name="message" id="fmcalc_call_message"></textarea>
            </div>
            <p class="require_message"><span>*</span> Поля обязательные для заполнения</p>
 
            <div class="buttons">
                <input type="submit" value="Отправить заявку" id="send_data" >
            </div>
        </div>
         <div id="results"></div>
    </form>
    
    <p>Калькулятор служит для предварительного расчета стоимости. Отправьте заявку нашим менеджерам. После ее обработки они свяжутся с вами для уточнения итоговых расчетов</p>
</div>
<!-- Clear :) -->
        <div class="clear"></div>
    </div>
    <!-- End Content -->
</body>
<HTML>
0
80 / 80 / 53
Регистрация: 22.03.2013
Сообщений: 271
11.12.2015, 09:38 4
так расчитывается цена:
Javascript
1
var price = parseInt($("div#tab"+city+" tr:nth-of-type("+matr+") td:nth-of-type("+cen+") span.price").text());
т.е. берутся данные из какой то таблицы:
Javascript
1
$("div#tab"+city+" tr:nth-of-type("+matr+") td:nth-of-type("+cen+") span.price").text()
у вас нет таблиц, вот и parseInt() возвращает NaN
и в итоге при окончательном расчете тоже будет NaN:
Javascript
1
var cost = parseFloat(width*length*price);
1
1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 125
11.12.2015, 13:21  [ТС] 5
Хм вроде все понтяно, разобрался со всем только не могу найти где же происходит подключение к базе. как они сюда попадают?
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
if (!error) { // если ошибки нет
            
            var data = form.serialize(); // подготавливаем данные
            $.ajax({ // инициализируем ajax запрос
               type: 'POST', // отправляем в POST формате, можно GET
               url: 'send.php',
               //dataType: 'json', // ответ ждем в json формате
               data: data, // данные для отправки
               beforeSend: function(data) { // событие до отправки
                    form.find('input[type="submit"]').attr('disabled', 'disabled'); // например, отключим кнопку, чтобы не жали по 100 раз
                  },
               success: function(data){ // событие после удачного обращения к серверу и получения ответа
                    if (data['error']) { // если обработчик вернул ошибку
                        alert(data['error']); // покажем её текст
                    } else { // если все прошло ок
                        $('#results').html('<p style="color:#006f3c; font-size: 16px; font-weight: bold; text-align: center;">Ваша заявка отправлена. Мы свяжемся с Вами в ближайшее время</p>');
                        $('#error').css('display','none');
                        form.find('select[name=city]').css("box-shadow","none"); // уберем подсветку поля
                        form.find('input[name=width]').css("box-shadow","none"); // уберем подсветку поля
                        form.find('input[name=length]').css("box-shadow","none");//подсветим поля
                        form.find('select[name=texture]').css("box-shadow","none");//подсветим поля
                        form.find('input[name=fullname]').css("box-shadow","none");//подсветим поля
                        form.find('input[name=phone]').css("box-shadow","none");//подсветим поля
                        
                        //alert('Письмо отвравлено! Ждите почту! =)'); // пишем что все ок
                    }
                 },
               error: function (xhr, ajaxOptions, thrownError) { // в случае неудачного завершения запроса к серверу
                    alert(xhr.status); // покажем ответ сервера
                    alert(thrownError); // и текст ошибки
                 },
               complete: function(data) { // событие после любого исхода
                    form.find('input[type="submit"]').prop('disabled', false); // в любом случае включим кнопку обратно
                 }
                          
                 });
0
11.12.2015, 13:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2015, 13:21
Помогаю со студенческими работами здесь

Как сделать выполнение javascript в блоке div
Здравствуйте. Помогите сделать выполнение JS в блоке div. Нужно чтобы таблица была в основном...

Выполнение javascript кода из url строки FireFox
Если ввести в адресную строку код: javascript: ( function( ) {alert(&quot;ОК&quot;)} ) ( ) или javascript:...

Как реализовать выполнение javascript кода первым, если он находится в конце
Доброго времени суток. Господа эксперты, подскажите, пожалуйста, как можно реализовать выполнение...

Вставка элементов меню (содержащих javascript) через javascript
Пишу курсовой проект по JavaScript в ходе которого потребовалось создать небольшой локальный сайт,...

Как перезагрузить javascript, javascript-ом?
как с помощью javascript перезагрузить javascript ? Смысл в том что один из моих скриптов выполняет...

Javascript (codeacademy - "'WHILE' LOOPS IN JAVASCRIPT(Dragon Slayer!)")
Пожалуйста, помогите прочитать этот код!!! var slaying = true; // A bit of new math magic to...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru