0 / 0 / 1
Регистрация: 23.06.2014
Сообщений: 26

Uncaught TypeError: undefined is not a function

23.06.2014, 12:07. Показов 11935. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добрый день!
Есть код:
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
<script type="text/javascript">
 
           /** 
            Функция отправляет ajax-запрос
            result_id - id элемента, в который будет подгружена информация
            url - адрес страницы, которая будете подгружена
             **/ 
            function AjaxFormRequest(result_id,former,url) { 
                jQuery.ajax({ 
                    url: "submit.php", //Адрес подгружаемой страницы 
                    type:     "POST", //Тип запроса 
                    dataType: "html", //Тип данных 
                    data: jQuery("#"+former).serialize(),  
                    success: function(response) { //Если все нормально 
                    $('#'+result_id).html(response); 
                }, 
                error: function(response) { //Если ошибка 
                document.getElementById(result_id).innerHTML = "Ошибка при отправке формы"; 
                } 
             }); 
          return false
 
        }
   </script>
и кнопка
HTML5
1
<input class="feedback btn btn-block btn-large btn-success" name="send" type="submit" value="Відправити замовлення!" onclick="AjaxFormRequest('result_div_id', 'former', 'submit.php')">
сам скрипт должен проверять заполненую форму на заполненность и показывать ошибки заполнения, после успешного заполнения должно всплывать сообщение об отправке формы и ДОПОЛНИТЕЛЬНО отправлять данные на сервер через submit.php.
В чем проблема : после нажатия на submit заполненой формы срабатывает index.php который запускаеться feedback.js в папке feedback. После чего даные формы оправляеться на почту и кнопка замирает (становиться не активной), а в хроме вываливает ошибку - Uncaught TypeError: undefined is not a function. Но submit.php не срабабатывает.
по ссыле - архив с htm и js, которые используються всем скриптом, большое подозрение на конфликт js. решения которые в статьях и форумах не подходят перепробовал много вариантов.
Прошу помощи, так как уже несколько дней мучаюсь. Заранее благодарен!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.06.2014, 12:07
Ответы с готовыми решениями:

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

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

Связка php+mysql+ajax: Uncaught TypeError: undefined is not a function
Здравствуйте! Вот уже более 6 часов не могу найти причину неработоспособности своего кода (новичок в этом деле). Есть select в...

35
112 / 112 / 18
Регистрация: 24.09.2013
Сообщений: 509
23.06.2014, 15:21
Студворк — интернет-сервис помощи студентам
он не пишет на какой строке ошибка?
0
0 / 0 / 1
Регистрация: 23.06.2014
Сообщений: 26
23.06.2014, 15:23  [ТС]
Web_Master, пишет - 125 стр
0
 Аватар для mihalken
97 / 97 / 74
Регистрация: 15.05.2014
Сообщений: 269
Записей в блоге: 2
24.06.2014, 09:42
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$( '.feedback' ).on('click', function() {
    $.ajax({
        url: "submit.php",
        type: "POST",
        dataType: "html",
        data: $( "#former" ).serialize(),  
        success: function(response) {
            $( '#result_div_id' ).html( response ); 
        }, 
        error: function(response) {
            $( '#result_div_id' ).text( "Ошибка при отправке формы" );
        } 
     });
});
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
<form action="" method="POST" name="former" id="former"><!-- сама форма (#former) -->
    <label class="radio">
        <input type="radio" value="1" name="service_type"> Прибирання (регулярне)
    </label>
    <label class="radio">
        <input type="radio" value="2" name="service_type"> Прибирання (генеральне)
    </label>
    <label class="radio">
        <input type="radio" value="3" name="service_type"> Прибирання (після ремонту)
    </label>
    <label class="radio">
        <input type="radio" value="4" name="service_type"> Прибирання погодинне
    </label>
    <div class="input-prepend">
        <span class="add-on"><i class="icon-user"></i></span>
        <input class="input-medium focused" name="first_name" type="text" placeholder="І'мя, по-батькові">
    </div>
    <div class="input-prepend">
        <span class="add-on"><i class="icon-user"></i></span>
        <input class="input-medium focused" name="last_name" type="text" placeholder="Прізвище">
    </div>
    <div class="input-prepend">
        <span class="add-on"><i class="icon-book"></i></span>
        <input class="input-medium focused" name="phone" type="text" placeholder="Телефон">
    </div>
    <div class="input-prepend">
        <span class="add-on"><i class="icon-envelope"></i></span>
        <input class="input-medium focused" name="email" type="text" placeholder="E-mail">
    </div>
    <!-- Площа приміщення -->
    <select class="span2" name="area_id">
        <option value="">Площа примішення</option>
        <option value="1">до 40кв.м.</option>
        <option value="2">до 50кв.м.</option>
        <option value="3">до 60кв.м.</option>
        <option value="4">до 70кв.м.</option>
        <option value="5">до 80кв.м.</option>
        <option value="6">до 90кв.м.</option>
        <option value="7">до 100кв.м.</option>
        <option value="8">до 110кв.м.</option>
        <option value="9">до 120кв.м.</option>
        <option value="10">більше 121кв.м.</option>
    </select>
    <!-- Місцезнаходження -->
    <textarea class="input-lage focused" name="locate" placeholder="Місцезнаходження"></textarea>
    <!-- подсказка -->
        <div class="tool-tip">
            <i class="tool-tip__icon">i</i>
            <p class="tool-tip__info">
            <span class="info"><span class="info__title">Місцезнаходження (приклад):</span> <span class="info__text"></br>м.Полтава (Полтавська обл.) </br>вул.Леніна, корп. 2, буд.14, під'їзд 1, кв.101</span></span>
            </p>
        </div>
    <!-- Деталі замовлення -->
    <textarea class="input-lage focused" name="inford" placeholder="Деталі замовлення"></textarea>
    <!-- подсказка -->
    <div class="tool-tip">
        <i class="tool-tip__icon">i</i>
        <p class="tool-tip__info">
        <span class="info"><span class="info__title">Деталі замовлення (коротка важлива інформація про особливості та умови прибирання):</span></span>
        <span class="info"><span class="info__title">Приклад:</span> <span class="info__text"></br>47кв.м., за диваном не прибирати</br>свої миючі засоби</span></span>
        </p>
    </div>
    <label class="checkbox">
        <input type="checkbox" value="так" name="checkbox"> Я погоджуюсь з правилами
    </label>
    
    <input class="feedback btn btn-block btn-large btn-success" name="send" type="button" value="Відправити замовлення!" /> <!-- кнопка отправки формы (AJAX) -->
    <div id="result_div_id"></div><!-- сюда результат -->
</form>
В #result_div_id:
PHP
1
Array ( [first_name] => asdf [last_name] => dfaf [phone] => afaf [email] => asfaf [area_id] => [locate] => afasf [inford] => afasf )
Кликните здесь для просмотра всего текста

ибо
PHP
1
print_r($_POST);

Где проблема?
0
0 / 0 / 1
Регистрация: 23.06.2014
Сообщений: 26
24.06.2014, 12:45  [ТС]
mihalken, добавил в htm только <div id="result_div_id"></div> и заменил:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$( '.feedback' ).on('click', function() {
    $.ajax({
        url: "submit.php",
        type: "POST",
        dataType: "html",
        data: $( "#former" ).serialize(),  
        success: function(response) {
            $( '#result_div_id' ).html( response ); 
        }, 
        error: function(response) {
            $( '#result_div_id' ).text( "Ошибка при отправке формы" );
        } 
     });
});
а файл submit.php:
PHP
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
<?php
    include("db.php");
    
    if($_SERVER["REQUEST_METHOD"] == "POST")
    {
        $area_id = mysql_real_escape_string($_POST['area_id']);
        $service_type = mysql_real_escape_string($_POST['service_type']);
        $first_name = mysql_real_escape_string($_POST['first_name']);
        $last_name = mysql_real_escape_string($_POST['last_name']);
        $email = mysql_real_escape_string($_POST['email']);
        $phone = mysql_real_escape_string($_POST['phone']);
        $inford = mysql_real_escape_string($_POST['inford']);
        $locate = mysql_real_escape_string($_POST['locate']);
        
        if(strlen($area_id) > 0 && strlen($service_type) > 0 && strlen($first_name) > 0 && strlen($last_name) > 0 && strlen($email) > 0 && strlen($phone) > 0 && strlen($inford) > 0 && strlen($locate) > 0)
        {
            
            $result = mysql_query("
                                INSERT INTO tbl_customer (area_id,service_type,first_name,last_name,email,phone,inford,locate) 
                                VALUES(
                                    '" . $area_id . "',
                                    '" . $service_type . "',
                                    '" . iconv('utf-8','cp1251',$first_name) . "',
                                    '" . iconv('utf-8','cp1251',$last_name) . "',
                                    '" . $email . "',
                                    '" . $phone . "',
                                    '" . iconv('utf-8','cp1251',$inford) . "',
                                    '" . iconv('utf-8','cp1251',$locate) . "
                                ')");
            
            if ($result)
                echo iconv('cp1251','utf-8',"<h2>Заявка відправлена!</h2>");
            else
                echo iconv('cp1251','utf-8',"<h2>Помилка!</h2>(".mysql_error().")");
        }
        else
            echo iconv('cp1251','utf-8',"<h2>Заповніть усі строки!</h2>");
            
    }
а вот итог.
0
 Аватар для mihalken
97 / 97 / 74
Регистрация: 15.05.2014
Сообщений: 269
Записей в блоге: 2
24.06.2014, 12:54
dasser, что здесь:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var mcf = myconf();
 
mcf.done(function(conf) {
 
$(document).ready(function() {
(function() {
           var fb = $('.feedback');
           if(fb.length > 0) {
                fb.each(function(){
                    var form = $(this).closest('form'), name = form.attr('name');
                    //console.log(form);
                    if(isset(conf[name]) && isset(conf[name].cfg.antispamjs)) {
                      $(form).prepend('<input type="text" name="'+ conf[name].cfg.antispamjs +'" value="tesby" style="display:none;">');
                    }
                });
            }
  })();
});
происходит?

P.S. /test/feedback/js/feedback.js 52 line

Добавлено через 2 минуты
HTML5
1
<input class="feedback btn btn-block btn-large btn-success" name="send" type="submit" value="Відправити замовлення!">
У вас опять submit. Я же в своем примере исправил:
HTML5
1
<input class="feedback btn btn-block btn-large btn-success" name="send" type="button" value="Відправити замовлення!" /> <!-- кнопка отправки формы (AJAX) -->
0
0 / 0 / 1
Регистрация: 23.06.2014
Сообщений: 26
24.06.2014, 13:11  [ТС]
mihalken, как я понял в рабочей версии (без соединения кода с общим на сайте) при проверке формы проверяет на присутсвие робота (так называемая защита от спама), после чего выдает ошибку связаную со спамом

Добавлено через 5 минут
Цитата Сообщение от mihalken Посмотреть сообщение
У вас опять submit. Я же в своем примере исправил
я пробую разные варанты, постоянно, в изначальной коде (рабочем) стоит submit. Прислушиваюсь к вам - поменял на button
0
 Аватар для mihalken
97 / 97 / 74
Регистрация: 15.05.2014
Сообщений: 269
Записей в блоге: 2
24.06.2014, 13:41
Лучший ответ Сообщение было отмечено dasser как решение

Решение

/test/feedback/js/feedback.js line 125
JavaScript
1
$.arcticmodal('close');
JavaScript
1
Uncaught TypeError: undefined is not a function
Цитата Сообщение от dasser Посмотреть сообщение
Web_Master, да но ГДЕ ? $.arcticmodal('close'); close ?
Может все таки вот так:
JavaScript
1
 $('#feedback-modal-box').arcticmodal('close');
?

Добавлено через 39 секунд
Но у меня по ходу форма отправилась, но только не закрылось.

Добавлено через 3 минуты
JavaScript
1
2
3
4
5
beforeSend: function() {
            //$(bt).val('');
            $(bt).prop("disabled", true);
            $(bt).addClass('loading');
        },
А вот здесь, вы блокируете кнопку от дабл клик. Т.е. beforeSend. Но когда success вы ее не включаете. Даже если форма закроется, то при следующем заказе услуги, кнопка будет не активна.

Добавлено через 3 минуты
А нет, сори. Вижу. Включаете обратно.
JavaScript
1
2
3
        $(bt).prop("disabled", false);
        $(bt).removeClass('loading');
        //$(bt).val(bvc);
Но! До этого момента у вас возникает ошибка, строка 125 выше о которой писал, и это часть кода не выполняется.

Добавлено через 3 минуты
Попробуйте исправить строку #125
JavaScript
1
$.arcticmodal('close');
на
JavaScript
1
$('#feedback-modal-box').arcticmodal('close');
?

P.S. Или хотя бы закомментируйте и посмотрите дальнейший результат.
1
0 / 0 / 1
Регистрация: 23.06.2014
Сообщений: 26
24.06.2014, 13:46  [ТС]
mihalken, заменил 125 стр. на " $('#feedback-modal-box').arcticmodal('close'); ". Да форма отправилась на ящик с даными "test@test.ru" через /feedback/index.php, но не срабатывает submit.php. И, да, двойного нажатия не допускает, может из-за него и блокирует?

Добавлено через 3 минуты
mihalken, после коммента на 125 вываливает ошибку "Uncaught TypeError: undefined is not a function " на 131 стр.
0
 Аватар для mihalken
97 / 97 / 74
Регистрация: 15.05.2014
Сообщений: 269
Записей в блоге: 2
24.06.2014, 13:52
Цитата Сообщение от dasser Посмотреть сообщение
после коммента на 125 вываливает ошибку "Uncaught TypeError: undefined is not a function " на 131 стр.
Т.е. идем дальше. Проблему закрытия модали вы найдете в доках articlmodal (это уже другая тема).

/test/feedback/js/feedback.js line 131
JavaScript
1
$.arcticmodal({content: m});
Та же корзинка, только пирожки с другой начинкой.

Добавлено через 1 минуту
Не работал с articmodal, и не совсем понимаю, что здесь задумано (#131).

Добавлено через 1 минуту
Цитата Сообщение от dasser Посмотреть сообщение
но не срабатывает submit.php
Т.е. как не срабатывает? Вы узнали e-mail который я указал в заказе. Значит пыха дышит?
1
0 / 0 / 1
Регистрация: 23.06.2014
Сообщений: 26
24.06.2014, 14:01  [ТС]
mihalken, закоментил 131 - форма отправлеться на почту (через /feedback/index.php), но на сервер (запись
PHP
1
2
$.ajax({
        url: submit.php,
не срабатывает как и раньше.
ДА, после комента 131 стр. форма отправляеться и обнуляеться, с возможностью вбить новые данные.
0
 Аватар для mihalken
97 / 97 / 74
Регистрация: 15.05.2014
Сообщений: 269
Записей в блоге: 2
24.06.2014, 14:53
Цитата Сообщение от dasser Посмотреть сообщение
не срабатывает как и раньше.
Так вам куда слать форму та?
сюда (1)
JavaScript
1
url: 'feedback/index.php',
или сюда (2)
JavaScript
1
 url: "submit.php",
?
В /test/feedback/js/feedback.js вы пишите (1), а тут вы указываете на (2).
0
0 / 0 / 1
Регистрация: 23.06.2014
Сообщений: 26
24.06.2014, 14:59  [ТС]
mihalken, и туда
PHP
1
url: 'feedback/index.php',
и сюда
PHP
1
url: submit.php,
в даний момент на почту отпрвляет через feedback/index.php.
Вот я и пытаюсь понять почему не хочет работать
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$( '.feedback' ).on('click', function() {
    $.ajax({
        url: "submit.php",
        type: "POST",
        dataType: "html",
        data: $( "#former" ).serialize(),  
        success: function(response) {
            $( '#result_div_id' ).html( response ); 
        }, 
        error: function(response) {
            $( '#result_div_id' ).text( "Ошибка при отправке формы" );
        } 
     });
});
которое исправлено на:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  function AjaxFormRequest(result_id,former,url) { 
            event.preventDefault();
            $( '.feedback' ).on('click', function() {
        $.ajax({
        url: submit.php,
        type: "POST",
        dataType: "html",
        data: $( "#former" ).serialize(),  
        success: function(response) {
            $( '#result_div_id' ).html( response ); 
        }, 
        error: function(response) {
            $( '#result_div_id' ).text( "Ошибка при отправке формы" );
        } 
     });
}); 
return false
 
        }
0
 Аватар для mihalken
97 / 97 / 74
Регистрация: 15.05.2014
Сообщений: 269
Записей в блоге: 2
24.06.2014, 15:18
Цитата Сообщение от dasser Посмотреть сообщение
которое исправлено на:
Вы мой код завернули в функцию?!
Цитата Сообщение от dasser Посмотреть сообщение
в даний момент на почту отпрвляет через feedback/index.php.
А что мешает вам перед отправкой почты, записать данные в базу? (соединить feedback/index.php и submit.php)

Добавлено через 1 минуту
Ну или после
1
0 / 0 / 1
Регистрация: 23.06.2014
Сообщений: 26
24.06.2014, 15:28  [ТС]
mihalken, пробовал и после и до, (если ДО - не обрабатываеться скрипт отправки на почту). Убрал обертку функции - 0 на масу.
0
 Аватар для mihalken
97 / 97 / 74
Регистрация: 15.05.2014
Сообщений: 269
Записей в блоге: 2
24.06.2014, 15:36
Лучший ответ Сообщение было отмечено dasser как решение

Решение

Цитата Сообщение от dasser Посмотреть сообщение
пробовал и после и до, (если ДО - не обрабатываеться скрипт отправки на почту)
Этот вопрос решается за пару секунд в соседнем разделе.
Цитата Сообщение от dasser Посмотреть сообщение
Убрал обертку функции - 0 на масу.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$(function() {
    $( '.feedback' ).on('click', function() {
        $.ajax({
            url: "submit.php",
            type: "POST",
            dataType: "html",
            data: $( "#former" ).serialize(),  
            success: function(response) {
                $( '#result_div_id' ).html( response ); 
            }, 
            error: function(response) {
                $( '#result_div_id' ).text( "Ошибка при отправке формы" );
            } 
         });
    });
});
?
1
0 / 0 / 1
Регистрация: 23.06.2014
Сообщений: 26
24.06.2014, 17:40  [ТС]
mihalken,
Цитата Сообщение от mihalken Посмотреть сообщение
Этот вопрос решается за пару секунд в соседнем разделе.
тыкните носом )

Добавлено через 1 час 55 минут
ура разобрался! спс всем за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.06.2014, 17:40
Помогаю со студенческими работами здесь

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

Uncaught TypeError: $ is not a function
Вот мой HTML &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt;&lt;title&gt; Review Collection Settings &lt;/title&gt; &lt;script...

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

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

Uncaught TypeError: $allprice.replace is not a function
есть такой код: function myf(){ var $allprice=0; var $set= $('div.right-content input.minus'); var $firstLevel; var...


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

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

Новые блоги и статьи
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru