За последние 24 часа нас посетили 39475 программистов и 7589 роботов. Сейчас ищут 1745 программистов ...

Как привязать формы к обрабатывающим их скриптам?

Тема в разделе "JavaScript и AJAX", создана пользователем Vladd55, 12 апр 2023.

  1. Vladd55

    Vladd55 Активный пользователь

    С нами с:
    11 дек 2021
    Сообщения:
    88
    Симпатии:
    1
    На странице есть несколько форм вот такого типа

    HTML:
    1. <form id="feedback-form" action="">
    2.     <input type="text" name="name" required placeholder="Ваше имя">
    3.     <input type="tel" name="phone" required placeholder="Ваш телефон">
    4.     <textarea name="text" placeholder="Ваш текст"></textarea>
    5.     <input type="submit" name="submit" value="Отправить">
    6. </form>
    Некоторые из них нужно обрабатывать вот таким скриптом
    HTML:
    1. $(document).ready(function () {
    2.     $("form").submit(function () {
    3.         // Получение ID формы
    4.         var formID = $(this).attr('id');
    5.         // Добавление решётки к имени ID
    6.         var formNm = $('#' + formID);
    7.         $.ajax({
    8.             type: "POST",
    9.             url: '/send.php',
    10.             data: formNm.serialize(),
    11.             beforeSend: function () {
    12.                 // Вывод текста в процессе отправки
    13.                 $(formNm).html('<p style="text-align:center">Отправка...</p>');
    14.             },
    15.             success: function (data) {
    16.                 // Вывод текста результата отправки
    17.                 $(formNm).html('<p style="text-align:center">'+data+'</p>');
    18.             },
    19.             error: function (jqXHR, text, error) {
    20.                 // Вывод текста ошибки отправки
    21.                 $(formNm).html(error);
    22.             }
    23.         });
    24.         return false;
    25.     });
    26. });
    А некоторые нужно обрабатывать вот таком скриптом:
    HTML:
    1. $(document).ready(function () {
    2.     $("form").submit(function () {
    3.         // Получение ID формы
    4.         var formID = $(this).attr('id');
    5.         // Добавление решётки к имени ID
    6.         var formNm = $('#' + formID);
    7.         $.ajax({
    8.             type: "POST",
    9.             url: '/send.php',
    10.             data: formNm.serialize(),
    11.             beforeSend: function () {
    12.                 // Вывод текста в процессе отправки
    13.                 $("#svn").html('<p style="text-align:center">Отправка...</p>');
    14.             },
    15.             success: function (data) {
    16.                 // Вывод текста результата отправки
    17.                 $("#svn").html('<p style="text-align:center">'+data+'</p>');
    18.             },
    19.             error: function (jqXHR, text, error) {
    20.                 // Вывод текста ошибки отправки
    21.                 $("#svn").html(error);
    22.             }
    23.         });
    24.         return false;
    25.     });
    26. });
    27.  
    Оба скрипта являются обработчиками формы. Можно как-то привязать к одной группе форм первый скрипт, а ко второй группе форм второй скрипт?
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.874
    Симпатии:
    753
    Адрес:
    Татарстан
    можно
     
  3. Vladd55

    Vladd55 Активный пользователь

    С нами с:
    11 дек 2021
    Сообщения:
    88
    Симпатии:
    1
    Как это сделать?
     
  4. Aleksandr.B

    Aleksandr.B Активный пользователь

    С нами с:
    2 фев 2023
    Сообщения:
    159
    Симпатии:
    41
    Адрес:
    Барнаул
    Например по классу. Необязательно же по тегу "form" отлавливать событие submit.
    Например на одну группу форм навешать класс <form class="group_a">, на вторую <form class="group_b"> и отлавливать события $('.group_a').submit... $('.group_b').submit..
     
  5. Vladd55

    Vladd55 Активный пользователь

    С нами с:
    11 дек 2021
    Сообщения:
    88
    Симпатии:
    1
    Получилось, спасибо!