Кнопка из формы перенаправляет в PHP файл

При нажатии на кнопку submit, данные из формы заносятся в базу данных, а вместе с этим открывается файл form.php, который как раз отправляет данные в БД. Я попытался написать скрипит на JQ, закинул туда preventDefault, а внутрь засунул ajax-запрос, но проблема осталась: при нажатии на кнопку перенаправляет на пустую страницу (form.php). Также, по задумке, при успешной отправке формы в БД должен вылезать alert с "Успешно!", но этого не происходит. Я думаю, что проблема в ajax запросе, но мне не хватает знаний. Подскажите, пожалуйста.

Код формы:

<form class="popup__form" method="get" name="form">
              <input
                class="popup__form-text popup__form-input popup__form-fields"
                type="text"
                name="name"
                placeholder="Ваше имя"
              />
              <input
                class="popup__form-tel popup__form-input popup__form-fields"
                type="tel"
                name="tel"
                placeholder="Номер телефона"
              />
              <input
                class="popup__form-email popup__form-input popup__form-fields"
                type="email"
                name="email"
                placeholder="Электронная почта"
              />
              <input
                class="popup__form-submit popup__form-input popup__form-button"
                id="#btn__submitForm"
                type="submit"
                name="popup-submit"
                value="Отправить заявку"
              />
            </form>

Код form.php:

<?php
    if (isset($_GET['popup-submit'])) {
      $nameform = $_GET['name'];
      $telform = $_GET['tel'];
      $emailform = $_GET['email'];
      $mysqli = new mysqli("localhost", "root", "", "dudich");
      if ($mysqli->connect__errno) {
        echo "Извините, возникла проблема на сайте";
        exit;
      }
      $name = '"' . $mysqli->real_escape_string($nameform) . '"';
      $tel = '"' . $mysqli->real_escape_string($telform) . '"';
      $email = '"' . $mysqli->real_escape_string($emailform) . '"';
      $query = "INSERT INTO users (name, tel, email) VALUES ($name, $tel, $email)";
      $result = $mysqli->query($query);
      $mysqli->close();
    }
?>

Код JQ:

$('#btn__submitForm').submit(function(e){
    e.preventDefault();

    $.ajax({
        url: 'form.php',         
        method: 'get',             
        dataType: 'html',     
        success: function(data){   
            alert('Успешно!');          
        }
    });
})

UPD:

JQ:

$('.popup__form-button').click(function(e){
    e.preventDefault();

    $.ajax({
        url: 'form.php',         
        method: 'get',           
        dataType: 'html',     
        success: function(data){   
            alert('Успешно!');           
        }
    });
})

button:

<form
              class="popup__form"
              method="get"
              name="form"
              action="form.php"
            >
              <input
                class="popup__form-text popup__form-input popup__form-fields"
                type="text"
                name="name"
                placeholder="Ваше имя"
              />
              <input
                class="popup__form-tel popup__form-input popup__form-fields"
                type="tel"
                name="tel"
                placeholder="Номер телефона"
              />
              <input
                class="popup__form-email popup__form-input popup__form-fields"
                type="email"
                name="email"
                placeholder="Электронная почта"
              />
              <button
                class="popup__form-submit popup__form-input popup__form-button"
                name="popup-submit"
              >
                Отправить заявку
              </button>
            </form>

Ответы (1 шт):

Автор решения: Алексей Шиманский

Должно быть не

$('#btn__submitForm').submit(function(e){

а

$('.popup__form').submit(function(e){

т.к. событие отправки происходит именно формы, а не кнопки. У кнопки происходит лишь клик. Не смотря на то, что у неё стоИт тип submit, это не говорит о том, что на неё происходит событие сабмита, а то, что она ответственна за сабмит формы


P.S. Если идёт работа через ajax, то вообще зачем у кнопки стОит тип submit? Можно сделать обычную кнопку и отправлять данные по клику на неё

→ Ссылка