За последние 24 часа нас посетили 19428 программистов и 1640 роботов. Сейчас ищут 1812 программистов ...

Помощь с отправкой формы Ajax

Тема в разделе "JavaScript и AJAX", создана пользователем Волков, 19 авг 2016.

  1. Волков

    Волков Новичок

    С нами с:
    19 авг 2016
    Сообщения:
    3
    Симпатии:
    0
    Друзья, всем привет. Буквально на днях пришлось поработать впервые с javaScript
    Хотелось бы сделать на сайте форму обратной связи. В просторах интернета нашел пример простенькой формы, с отправкой через Ajax.

    HTML:
    1. <form id="form">
    2.     <input type="text" name="name" required="required"/>
    3.     <input type="text" name="phone" required="required"/>
    4.     <input type="submit" value="Заказать звонок"/>
    5. </form>
    PHP:
    1. <?
    2. send.php
    3.  
    4. if((isset($_POST['name'])&&$_POST['name']!="")&&(isset($_POST['phone'])&&$_POST['phone']!="")){
    5.         $to = 'mail@yandex.ru';
    6.         $subject = 'Обратный звонок';
    7.         $message = '
    8.                <html>
    9.                    <head>
    10.                        <title>'.$subject.'</title>
    11.                    </head>
    12.                    <body>
    13.                        <p>Имя: '.$_POST['name'].'</p>
    14.                        <p>Телефон: '.$_POST['phone'].'</p>                    
    15.                    </body>
    16.                </html>';
    17.         $headers  = "Content-type: text/html; charset=utf-8 \r\n";
    18.         $headers .= "From: Отправитель <from@example.com>\r\n";
    19.         mail($to, $subject, $message, $headers);
    20. }
    21. ?>
    Код (Javascript):
    1. <script type="text/javascript">
    2. $(document).ready(function(){
    3. $("#form").submit(function() {
    4. var form_data = $(this).serialize();
    5. $.ajax({ type: "POST",
    6. url: "send.php",
    7. data: form_data,
    8. success: function() {
    9. alert("Ваше сообщение отправлено!");
    10.     });
    11.   });
    12. }); </script>
    Сообщения "Ваше сообщение отправлено" нет. В консоли ошибка на 10 строку javaScript. Подскажите пожалуйста, в чем может быть проблема, или возможно есть другой простой способ отправки с помощью ajax. Благодарю заранее
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Проблема в синтаксисе. Переформатируй код и увидишь, где накосячил.
     
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
  5. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    ой сорри , уже с done путаю, там фигурная скобка отсутствует

    не как тут
    Код (Javascript):
    1. $(function() {
    2.  
    3.     $('#Post').submit(function(e) {
    4.         var form = $(this);
    5.         $.ajax({
    6.             type: form.attr('method'),
    7.             url: form.attr('action'),
    8.             data: form.serialize()
    9.         }).done(function() {
    10.             alert( form.serialize() );
    11.         });
    12.         e.preventDefault();
    13.     });
    14. });
     
  6. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @MAN_IFE_ST зачем ты меняешь алгоритм, когда нужно просто поменять синтаксис?
     
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    где я поговаривал, что рекомендую другой функционал использовать ?
     
  8. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @MAN_IFE_ST функционал может и нет, но алгоритм же другой. Ты не знаешь как пофиксить код ТС-а и поэтому сочиняешь другой код?
     
  9. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    теперь о направлении взгляда:
    1. я лишь показал про доне со скобкой, ответив скриптом на подмеченную ошибку тобою Помощь с отправкой формы Ajax
    2. дальше нет смысла обьяснять, у нас расхождение тем "о чем поговаривалось"
     
  10. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @MAN_IFE_ST а можешь пофиксить код ТСа?
     
  11. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    Причем тут могу или нет... Ты хоть понял о чем речь идет?
     
  12. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @MAN_IFE_ST ну я увидел что ты саксес заменил на дан. Молодец. Но оригинальный-то алгоритм чего не пофиксил?
     
  13. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    мой косяк, не дописал: закрывающая скобка после алерта.

    Пофиксил устно, так как тут не любят "ТСу принеси готовое на блюдце"
     
  14. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
  15. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
     
  16. Волков

    Волков Новичок

    С нами с:
    19 авг 2016
    Сообщения:
    3
    Симпатии:
    0
    Писал без форматирования в sublime text. Сейчас скачал NetBeans - всё встало на свои места. Спасибо
     
  17. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @Волков да это в обычном блокноте можно пофиксить. Примерно так (подсветку специально выключил):
    Код (Text):
    1. $(document).ready(
    2.     function() // af1
    3.     {
    4.         $("#form").submit(
    5.             function() // af2
    6.             {
    7.                 var form_data = $(this).serialize();
    8.                 $.ajax(
    9.                     {
    10.                         type: "POST",
    11.                         url: "send.php",
    12.                         data: form_data,
    13.                         success: function() // af3
    14.                         {
    15.                             alert("Ваше сообщение отправлено!");
    16.                         } // end of af3
    17.                     } // end of ajax arg object
    18.                 ); // end of .ajax()
    19.             } // end of af2
    20.         ); // end of .submit()
    21.       } // end of af1
    22. ); // end of .ready()
    да что за херня с форматированием-то?
     
  18. Волков

    Волков Новичок

    С нами с:
    19 авг 2016
    Сообщения:
    3
    Симпатии:
    0
    Спасибо. Лучше таким способом и буду пользоваться, пока учусь, без автоформатирования