Хотите перенаправить на URL после успешной отправки формы JS - PullRequest
0 голосов
/ 23 ноября 2018

Хотите перенаправить на URL после успешной отправки формы JS.Вот мой кодУ меня есть 2 разные формы, и мне нужно перенаправить их на другой URL.Хотите перенаправить на URL после успешной отправки формы JS.Вот мой кодУ меня есть 2 разные формы, и мне нужно перенаправить их на другой URL.Хотите перенаправить на URL после успешной отправки формы JS.Вот мой кодУ меня есть 2 разные формы, и мне нужно перенаправить их на другой URL.

$(document).ready(function() {
    $(function() {
        var form = $('#ajaxContact');
        var formMessages = $('#contactMessage');
        $(form).submit(function(e) {
            e.preventDefault();
            if (jQuery(".email", this).val() == '' && jQuery(".message", this).val() == '' && jQuery(".name", this).val() == '') {
                $(formMessages).text('Required fields must be filled');
                return false;
            }
            var formData = $(form).serialize();
            formData += '&subjects=New Contact Us Message&phone="None"&required=email,name,message';
            $.ajax({
                    type: 'POST',
                    url: $(form).attr('action'),
                    data: formData
                })
                .done(function(response) {
                    $(formMessages).removeClass('error');
                    $(formMessages).addClass('success');
                    // Set the message text.
                    $(formMessages).text(response);
                    jQuery(".email", this).val('');
                    jQuery(".name", this).val('');
                    jQuery(".message", this).val('');
                })
                .fail(function(data) {
                    // Make sure that the formMessages div has the 'error' class.
                    $(formMessages).removeClass('success');
                    $(formMessages).addClass('errors');
                    // Set the message text.
                    if (data.responseText !== '') {
                        $(formMessages).text(data.responseText);
                    } else {
                        $(formMessages).text('Oops! An error occured and your message could not be sent.');
                    }
                });
        });
    });
    $(function() {
        var form = $('#callMe');
        var formMessages = $('#callMeMessage');
        $(form).submit(function(e) {
            e.preventDefault();
            if (jQuery(".email", this).val() == '' && jQuery(".phone", this).val() == '') {
                $(formMessages).text('One of the filds must be filled');
                return false;
            }
            var formData = $(form).serialize();
            formData += '&name=Call Me Service&subjects=New "Call Me" request from Webzool site function&message=No Message&required=subjects,name';
            console.log(formData);
            $.ajax({
                    type: 'POST',
                    url: $(form).attr('action'),
                    data: formData
                })
                .done(function(response) {
                    $(formMessages).removeClass('error');
                    $(formMessages).addClass('success');
                    // Set the message text.
                    $(formMessages).text(response);
                    jQuery(".email", this).val('');
                    jQuery(".phone", this).val('');
                })
                .fail(function(data) {
                    // Make sure that the formMessages div has the 'error' class.
                    $(formMessages).removeClass('success');
                    $(formMessages).addClass('errors');
                    // Set the message text.
                    if (data.responseText !== '') {
                        $(formMessages).text(data.responseText);
                    } else {
                        $(formMessages).text('Oops! An error occured and your message could not be sent.');
                    }
                });
        });
    });

Я был бы очень рад, если бы вы могли помочь.Спасибо

Ответы [ 3 ]

0 голосов
/ 23 ноября 2018
.done(function(response) {

      window.open('<Redirection url>','_self');

}
0 голосов
/ 23 ноября 2018

Как только вы получите успешный ответ, вы можете использовать следующую строку для перенаправления в нужное место.

window.location.href = "https://www.google.com/";// the URL where you want to redirect your user
0 голосов
/ 23 ноября 2018

В вашей функции .done вы можете добавить: window.location.href = 'webURL'; или window.location.replace("http://stackoverflow.com");

Это обеспечит перенаправление только в случае успешного вызова ajax.

Пример с вашим кодом:

$.ajax({
  type: 'POST',
  url: $(form).attr('action'),
  data: formData
})
.done(function(response) {
  $(formMessages).removeClass('error');
  $(formMessages).addClass('success');
  // Set the message text.
  $(formMessages).text(response);
  jQuery(".email", this).val('');
  jQuery(".phone", this).val('');
  window.location.replace("http://stackoverflow.com");
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...