Задать вопрос
@Ramzessr

Как с помощью jQuery отправить форму?

Есть следующая форма:

<form id="add" action="/add" method="POST">
<input type="text" name="firstname">
<input type="text" name="lastname">
<input type="email" name="email">
</form>


Ввиду своеобразного оформления кода ВНЕ формы есть ссылка:
<a href="#" class="add">Добавить</a>

Как по нажатию на ссылку отправить данные формы с помощью jQuery? Заранее спасибо.
  • Вопрос задан
  • 23146 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
samoilenkoevgeniy
@samoilenkoevgeniy
Lead Full-Stack Web Developer
Гуглите ajax отправка формы

Примерный код:
function send_form(form_id) {
    var form = $('#'+form_id);
    var msg   = form.serialize();
    $.ajax({
        type: 'POST',
        url: '../handlers/hSentEmailCall.php', // Обработчик собственно
        data: msg,
        success: function(data) {
            // запустится при успешном выполнении запроса и в data будет ответ скрипта
        },
        error:  function(){
            alert('Ошибка!');
        }
    });

}


Запускать при помощи onclick:
<a href="#" class="add" onclick='send_form('add')'>Добавить</a>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 5
@exmmo
Добавить кнопку submit (скрытую)
<form id="add" action="/add" method="POST">
  <input type="text" name="firstname">
  <input type="text" name="lastname">
  <input type="email" name="email">
  <input type="submit" id="sendButton" style="display: none;" /> 
</form>


Инициировать её нажатие:
$(".add").click(function(){
  $("#sendButton").click();
});
Ответ написан
cha-cha
@cha-cha
$(".add").click(function(){
  $("#add").submit();
});
Ответ написан
DeLaVega
@DeLaVega
Верстаю, фронтэндю =)
$(".add").click(function(e){
  e.preventDefault();
  $("#add").submit();
});
Ответ написан
@Ramzessr Автор вопроса
Забыл указать, что мне не требовался переход на форму обработчика. Решил таким образом:
$('.add').click(function () {
    var msg = $('#add').serialize();
    $.ajax({
        type: 'POST',
        url: '/add',
        data: msg
    });
});
Ответ написан
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы