Форум программистов, компьютерный форум, киберфорум
Наши страницы
jQuery
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
mashulis02
0 / 0 / 0
Регистрация: 14.03.2015
Сообщений: 3
1

Связка php+mysql+ajax: Uncaught TypeError: undefined is not a function

14.03.2015, 04:16. Просмотров 726. Ответов 3
Метки нет (Все метки)

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

Вот уже более 6 часов не могу найти причину неработоспособности своего кода (новичок в этом деле).

Есть select в default.php

PHPHTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<div class="season_selector">
 
                    <select name="year_season"  id="year_season" class="sel_season" onchange="LoadSeasonInfo (this.value)" >
                            <?php // заполняем список областей
                                    foreach ($list as $tour_data ):
                                    {
                                        if ($opt_count==1) {
                                        echo '<option value="' . $tour_data->id . '">' . $tour_data->name . '</option>';
                                                $tour_id=$tour_data->id;
                                            }
                                        else {
                                            echo '<option value="' . $tour_data->id . '">' . $tour_data->name . '</option>';
                                        }
                                        $opt_count++;
                                    }
                                    endforeach; 
                            ?>
                 
                    </select>
внешне выглядит файл s1.jpg

в этом же default.php функция LoadSeasonInfo

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
<script>
    function LoadSeasonInfo (t_id)
            {
                alert(t_id);
                $.ajax({
                            type: 'POST',  ///тип запроса  GET либо POST
                            url: 'query_onchange_data.php', //ваш контроллер или отдельный аякс контроллер
                             ///update: "#SeasonInfo",id_html-элемента, в который будет загружаться результат обработки
                            data: {tid:t_id}, // передаваемые в php-обработчик параметры(будут доступны в $_POST['var1'], $_POST['var2'] и тд)
                            
                            success: function(data) {   ///если ajax-запрос прошел удачно и сервер вернул код 200
                                
                                var sname=data[1];
                                var snumber=data[2];
                                var snumname=data[4];
                                
                                $('#SeasonInfo').html('<div class="league-season><div class="season-content"><ul class="league-seasons-information-list"><li class="information-type-playing">Сезон '+ snumber+'</li></ul></div></div>'); 
                                                    
                                                    }
                            
                                                    
                                });
                
            };
 
</script>
и код query_onchange_data.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
 
 
 
 
$tid=$_POST["tid"];
 
        
                            $db = JFactory::getDBO();
                            $rows = array();
                            $query= "SELECT s.s_id, s.s_name,s.s_number,s.s_real,s.s_snum_name,s.s_type"
                                    ." FROM #__bl_seasons as s,#__bl_tournament as t"
                                    ." WHERE s.t_id=t.id  and t.id=".$tid;
    
                            $db->setQuery($query);
                            $rows = $db->loadObjectList();
                            
            
?>
сайт на Joomla поэтому на всякий случай из доков

$result=$db->loadObjectList();
//returns an array like the MySQL function "mysql_fetch_array()"
//returns null if the query fails.


Функция LoadSeasonInfo выдает ошибку в консоли Chrome
Uncaught TypeError: undefined is not a function
(файл s2.jpg)

Не могу понять, где ошибаюсь
0
Миниатюры
Связка php+mysql+ajax: Uncaught TypeError: undefined is not a function  
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2015, 04:16
Ответы с готовыми решениями:

Uncaught TypeError: undefined is not a function
Всем добрый день! Есть код: &lt;script type=&quot;text/javascript&quot;&gt; ...

Uncaught TypeError: undefined is not a function
Всем привет! Искал решение и не нашел( Не разобрался так и( Проблема здесь...

Uncaught TypeError: undefined is not a function в FancyBox
Суть такая я подключаю на страницу fancybox что бы сделать фото галерею и все...

Uncaught TypeError: $ is not a function
Не работает код: &lt;script type=&quot;text/javascript&quot;&gt; function reg() { ...

Uncaught TypeError: $(...).countDown is not a function
Доброго времени суток! проблема такая есть скрипт &lt;script...

3
oganez09
1 / 1 / 3
Регистрация: 12.03.2015
Сообщений: 12
14.03.2015, 14:00 2
это ошибка
Javascript
1
2
    function LoadSeasonInfo (t_id)
            {
не переводите на новую строку фигурную скобку, верните ее на уровень с функцией
Javascript
1
    function LoadSeasonInfo (t_id) {
0
mashulis02
0 / 0 / 0
Регистрация: 14.03.2015
Сообщений: 3
15.03.2015, 01:21  [ТС] 3
Спасибо!
Теперь вылезли другие ошибки, но хотя бы что-то начало работать
0
mashulis02
0 / 0 / 0
Регистрация: 14.03.2015
Сообщений: 3
23.03.2015, 00:42  [ТС] 4
Я вновь в ступоре. Остался почти последний штрих, а не получается...

Проблема: нужно в списке ul удалить класс у элемента li.

Все функции вынесены в отдельный файл js.

Построение списка:
(каждому элементу списка li присваивается функция LoadTourCalendar(season_id,tour_id))
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<ul id="tours-selector" class="season_round_tab">
    <?php   echo '<li id="0" class="active" onclick="LoadTourCalendar('. $season_id .',0)"><a>Все</a>'; ?>
        </li>
                                        <?php
                                        $tur_list=getTurList($season_id);
                                        
                                        foreach ($tur_list as $tur_data ):
                                        {
                                            echo '<li id="'.$tur_data->ordering .'" onclick="LoadTourCalendar('. $season_id .','.$tur_data->ordering. ')"><a title="'. $tur_data->m_name .'">'.$tur_data->ordering .'</a></li>';
                                            
                                            
                                        
                                        } endforeach; 
                                        ?>
сама функция в файле js

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function LoadTourCalendar(season_id,tour_id){
    var tr = '#'+tour_id.toString();
    
                jQuery.ajax({
                            type: 'POST', 
                            url: '../modules/mod_js_calendar_pro/tmpl/load_calendar_selected.php', 
                            data: {sid:season_id, tid:tour_id}, параметры(будут доступны в $_POST['var1'], $_POST['var2'] и тд)
                            success: function(data){
                                    jQuery('#tours-selector li:active').removeClass("active"); 
                                jQuery(tr).addClass('active'); 
                                    jQuery('#Calendar').html(data);
                    
                            }
                });
            
            }


jQuery('#tours-selector li:active').removeClass("active"); Не работает. Как убрать активность предыдущего выделенного элемента?

jQuery(tr).addClass('active'); вот это работает, активный элемент выделяется

Спасибо.

Добавлено через 8 минут
как обычно стоило запостить проблему как она решилась

нужно было исправить
Javascript
1
jQuery('#tours-selector li:active').removeClass("active");
на
Javascript
1
jQuery('#tours-selector li.active').removeClass("active");
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2015, 00:42

Uncaught TypeError: jQuery(.).on is not a function
&lt;script type=&quot;text/javascript&quot;&gt; jQuery(window).on('load', function() {...

Uncaught TypeError: $allprice.replace is not a function
есть такой код: function myf(){ var $allprice=0; var $set=...

Uncaught TypeError: Cannot read property 'show' of undefined
Здравствуйте, в ходе работы столкнулся с такой ошибкой как Uncaught TypeError:...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru