Задать вопрос
  • Почему не передаются данные из контактной формы?

    In4in
    @In4in
    °•× JavaScript Developer ^_^ ו°
    $.ajax({
    url: $(this).attr('action')
    });


    latest?cb=20140626182735

    А вообще гениально - просто делать запрос и не отсылать данные, а потом удивляться, что они не пришли.

    //Contact form
    $('#main-contact-form').submit(function(e){
        (e||event).preventDefault();
        
        var $this = $(this), $form_status = $('<div class="form_status"></div>');
        //Отправляем запрос
        $.ajax({
            url  : $this.attr('action'),
            type: "post",
            data: $this.serialize(),
            beforeSend: function(){
                    $this.prepend( $form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Email is sending...</p>').fadeIn() );
            }
        }).done(function(data){
             $form_status.html('<p class="text-success">Thank you for contact us. As early as possible  we will contact you</p>').delay(3000).fadeOut();
        });
    });
    Ответ написан
    1 комментарий
  • Почему не передаются данные из контактной формы?

    webinar
    @webinar Куратор тега PHP
    Учим yii: https://youtu.be/-WRMlGHLgRg
    1. В php есть $_POST['subject'], в то время, как в форме такого поля нет. Не думаю, что из-за этого, но надо поправить в любом случае.
    2. Проверьте что в ajax запросе уходит.
    3. Если в пункте 2 все ок, то еще можно попробовать заменить
    $name       = $_POST['name'];
    $from       = $_POST['email'];
    $subject    = $_POST['subject'];
    $message    = $_POST['message'];

    на
    $name       = @trim(stripslashes($_POST['name']));
    $from       = @trim(stripslashes($_POST['email']));
    $subject    = @trim(stripslashes($_POST['subject']));
    $message    = @trim(stripslashes($_POST['message']));

    и посмотреть, что прийдет
    Ответ написан
    9 комментариев
  • Почему не передаются данные из контактной формы?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    Так вы в JSе поля формы-то и не отправляете нигде. Просто делаете AJAX-запрос к action и все.
    Или я тупой, а jQuery умнее меня, и даже в такой ситуации догадывается что надо отправить поля?))) Сомневаюсь.

    Вообще сниффер Fiddler советую для подобных случаев, он ведет журнал запросов от клиента к серверу, смотришь журнал и сразу ясно, правильный ли запрос отправил клиент, и если правильный, то на серваке проблема
    Ответ написан
    3 комментария