Ajax отправка формы-всплывашки fancybox

#
Ajax отправка формы-всплывашки fancybox
Создана форма, размещена на странице товара. Отправляется успешно, запись в админке появляется.
При отправке той же формы , вызываемой через fancybox - нулевой результат. Где копать? Логи без предупреждений.

Вот так вызываю форму на странице товара (шаблон для ИМ):
      
<div class="form_one_click" style="display:none"><?php   
      $oForm = Core_Entity::factory('Form', 2);
      $Form_Controller_Show = new Form_Controller_Show($oForm);
      if (!is_null(Core_Array::getPost($oForm->button_name)))
      {
         $Form_Controller_Show
            ->values($_POST + $_FILES)
            // 0 - html, 1- plain text
            ->mailType(0)
            ->mailXsl(
               Core_Entity::factory('Xsl')->getByName('ПисьмоКураторуФормыВФорматеHTML')
            )
            ->mailFromFieldName('email')
            ->process();
      }
      $Form_Controller_Show
         ->xsl(
            Core_Entity::factory('Xsl')->getByName('ОтобразитьФорму1клик')
         )
         ->show();
      ?></div>


Вызов всплывашки:
$('.btn_one_click').click(function(event) {
   $.fancybox.open($('.form_one_click'));
});

Отправляю форму так:
$('.form_one_click input.button').on('click', function(e){
   e.preventDefault();
   $.ajax({
      type: form.attr('method'),
      url: form.attr('action'),
      data: form.serialize()
   }).done(function() {
      console.log('success');
   }).fail(function() {
      console.log('fail');
   });
});
#
Re: Ajax отправка формы-всплывашки fancybox
volgastar писал(а):
if (!is_null(Core_Array::getPost($oForm->button_name)))
      {
         $Form_Controller_Show
            ->values($_POST + $_FILES)
            // 0 - html, 1- plain text
            ->mailType(0)
            ->mailXsl(
               Core_Entity::factory('Xsl')->getByName('ПисьмоКураторуФормыВФорматеHTML')
            )
            ->mailFromFieldName('email')
            ->process();
}

Смотрю у вас Форма отображается и обработчик  в том же макете верно?
volgastar писал(а):
Где копать? Логи без предупреждений.

После отправки в консоле браузера также тишина?
volgastar писал(а):
Отправляю форму так:

Вообще надо бы смотреть вашу страницу как работает, если ссылка не секрет!
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Ajax отправка формы-всплывашки fancybox
В консоли как раз все ок - вот это приходит - console.log('success');
#
Re: Ajax отправка формы-всплывашки fancybox
volgastar писал(а):
.done(function() {
      console.log('success');
   })

Не о чем не говорит. Надо смотреть какой был ответ от POST или GET что отправляет ваша форма и куда.
Может узел формы form.attr('action') что то пишет в консоле об успехе или об ошибке вот о чем я.
volgastar писал(а):
вызываемой через fancybox - нулевой результат

Похоже на то что данные не попадают в узел обработчика формы.
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Ajax отправка формы-всплывашки fancybox
консолька POST - данные формы уходят, приходит вся страница
куда уходит - на эту же страницу, все как в скрипте указано

так-то на джиквери давно бы сделал отправку, да еще и через smtp - но дабл-трабл в том, что нужно в админке сохранять...
#
Re: Ajax отправка формы-всплывашки fancybox
volgastar писал(а):
приходит вся страница

И в этой странице что то есть? Например результат формы?
volgastar писал(а):
Создана форма, размещена на странице товара. Отправляется успешно, запись в админке появляется.

Как тут пишется результат об успешной отправки.
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Ajax отправка формы-всплывашки fancybox
volgastar писал(а):
куда уходит - на эту же страницу, все как в скрипте указано

Jquery храмает
$.ajax({
  type: form.attr('method'),
  url: form.attr('action'),
  data: form.serialize()
  dataType : 'html',
  success : function(data){
      console.log(data);
  },
  error : function(XMLHttpRequest, textStatus, errorThrown) {
      console.log('There was an error!');
  }


Далее в показе fancybox  добавьте Ajax=1 в форму что это форма Ajax. Далее в ТДС формы в закладке "Настройки типовой динамической страницы" правите на такое:
$oForm = Core_Entity::factory('Form', 2);
    $Form_Controller_Show = new Form_Controller_Show($oForm);
    if (!is_null(Core_Array::getPost($oForm->button_name)))
    {
        $Form_Controller_Show
            ->values($_POST + $_FILES)
            // 0 - html, 1- plain text
            ->mailType(0)
            ->mailXsl(
                Core_Entity::factory('Xsl')->getByName('ПисьмоКураторуФормыВФорматеHTML')
            )
            ->mailFromFieldName('email');
        
        if (!is_null(Core_Array::getRequest('Ajax')))
        {
// <-  Не помню либо надо поменять макет, на скорую руку просто написал          
$Form_Controller_Show->process();
            exit;
        }
        else
        {
            $Form_Controller_Show->process();
        }
    }
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Ajax отправка формы-всплывашки fancybox
Цитата:
Далее в ТДС формы в закладке "Настройки типовой динамической страницы" правите на такое:

там же абсолютно другой код!! может закладка КОД СТРАНИЦЫ? и как тогда остальные формы будут работать, разговор же про общую ТДС???
#
Re: Ajax отправка формы-всплывашки fancybox
volgastar,
Я имею ввиду сюда.
volgastar писал(а):
приходит вся страница

Что бы не приходила вся страница в ответе. От себя примерно как это работает выше вам описал.
volgastar писал(а):
и как тогда остальные формы будут работать

Будут работать обычно. Если нет признака что это не Ajax
if (!is_null(Core_Array::getRequest('Ajax')))
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Ajax отправка формы-всплывашки fancybox
событие отправки формы нужно навешивать после открытия fancybox
HostDev.pw - модули для HostCMS, Telegram: @hostdev
Авторизация