Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 03.10.2019, 15:56
Аспирант
Отправить личное сообщение для frost68 Посмотреть профиль Найти все сообщения от frost68
 
Регистрация: 10.11.2017
Сообщений: 33

Там бы код обработки формы отправки сообщения, я его перенес в общий, а файл не отключил пока
Ответить с цитированием
  #22 (permalink)  
Старый 03.10.2019, 16:11
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Значит где-то либо ошибка в размещении кода обработчика, либо вообще он не подключен, так как нет у этой формы обработчика и форма отправляется естественным способом. В какой файл помещен код?
Ответить с цитированием
  #23 (permalink)  
Старый 03.10.2019, 16:16
Аспирант
Отправить личное сообщение для frost68 Посмотреть профиль Найти все сообщения от frost68
 
Регистрация: 10.11.2017
Сообщений: 33

laimas,
/phpshop/templates/puls/js/phpshop.js
нужный код начинается со строки 947
Ответить с цитированием
  #24 (permalink)  
Старый 03.10.2019, 16:34
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Удалите строки 949 и 990, ибо вы впихнули в $(document).ready(function () второй $(document).ready(function () в котором обработчик формы.

В этом же файле строки 150-153 не могут работать вне $(document).ready(function () { ....
Ответить с цитированием
  #25 (permalink)  
Старый 03.10.2019, 16:43
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

И перепишите обработчик так:

$("#firstform").submit(function(){
        // Получение форму
        var form = $(this), msg = $('.msgs') bx = form.add($('.formTitle'));

        $.ajax({
            type: "POST",
            url: 'modalform/mail.php',
            data: form.serialize(),
            success: function (data) {
              // Вывод сообщения об успешной отправке
              msg.html(data);
              bx.hide();
              setTimeout(function(){
                bx.show();
                msg.empty();
                $('input').not(':input[type=submit], :input[type=hidden]').val('');
              }, 3000);
            },
            error: function (jqXHR, text, error) {
                // Вывод сообщения об ошибке отправки
                msg.html(error);
                bx.hide();
                setTimeout(function(){
                  bx.show();
                  msg.empty();
                  $('input').not(':input[type=submit], :input[type=hidden]').val('');
                }, 3000);
            }
        });
        return false;
    });


негоже многократно получать объекты.

Последний раз редактировалось laimas, 03.10.2019 в 16:46.
Ответить с цитированием
  #26 (permalink)  
Старый 03.10.2019, 17:04
Аспирант
Отправить личное сообщение для frost68 Посмотреть профиль Найти все сообщения от frost68
 
Регистрация: 10.11.2017
Сообщений: 33

laimas,
Удалил строки, форма не заработала, затем заменил на ваш код, и пропало меню перестла работать форма
Ответить с цитированием
  #27 (permalink)  
Старый 03.10.2019, 17:06
Аспирант
Отправить личное сообщение для frost68 Посмотреть профиль Найти все сообщения от frost68
 
Регистрация: 10.11.2017
Сообщений: 33

laimas,
Также перестали добавляться имена врачей
Ответить с цитированием
  #28 (permalink)  
Старый 03.10.2019, 17:08
Аспирант
Отправить личное сообщение для frost68 Посмотреть профиль Найти все сообщения от frost68
 
Регистрация: 10.11.2017
Сообщений: 33

имена добавлялись так
<script type="text/javascript">
$(".linkButton").click(function() {
    $( "input[name*='formInfo']" ).val($(this).attr( "title" ));
});

</script>
Ответить с цитированием
  #29 (permalink)  
Старый 03.10.2019, 17:21
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Пояснение: обработчик события можно установить элементу тогда, когда он будет доступен, а это может быть только после того как будет загружена страница и сформирован DOM. Когда страница загружена, то возникает событие загрузки документа, в jQuery это можно прописать двумя способами:

//так
$(document).ready(function() {
   //здесь объявляется установка обработчиков и прочие действия с элементами страницы
});
//или так
$(function() {
   //здесь объявляется установка обработчиков и прочие действия с элементами страницы    
});


Вы же взяли код обработчика формы с обработчиком события загрузки документа и воткнули его в обработчик загрузки документа. А оно ведь не сработает (тот что вы вставили), оно уже сработало, а значит никакого обработчика у формы не будет. Вставленный вами этот обработчик начинается и кончается в указанных строках, их и надо удалить из кода.

Ваш файл подключается в теле страницы и если он следует после формы и прочих элементов которые описаны в событии загрузки документа, то это событие можно и удалить вообще. Но коли вы не разбираетесь, то не трогайте, удалите только в тех строках что указаны.

Второе: если ваша форма не присутствует на странице, появляется динамически на ней, то обработчик ее события нужно делегировать, или же определять после того как форма будет добавлена на страницу.
Ответить с цитированием
  #30 (permalink)  
Старый 03.10.2019, 17:29
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от laimas
обработчик начинается и кончается в указанных строках, их и надо удалить из кода.
То есть эти две строки, а не то что заключено между ними! Надеюсь это понятно?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
форма обратной связи maxg5 Общие вопросы Javascript 25 16.08.2016 20:18
Нужна помощь - форма обратной связи со скачиванием файла Baton1777 Общие вопросы Javascript 3 24.05.2015 02:21
Форма обратной связи Ajax soledar10@meta.ua AJAX и COMET 3 07.08.2013 14:54
ajax форма обратной связи anton-mgn AJAX и COMET 7 15.09.2011 20:42
Форма обратной связи на AJAX проблемы с модальным окном pavel87 AJAX и COMET 0 26.05.2011 14:30