使用ajax重定向表单提交

时间:2017-04-27 11:29:50

标签: html ajax

我想将表单回复发送到Google表格,然后将用户重定向到感谢页面。 Google脚本将用户直接重定向到报告页面。我想删除谷歌重定向并放置我的。

形式:

<form method="post" id="formID" action="gscript">
...
</form>

脚本:

<script>
   $(document).on('submit', '.formID', function(e) {
     $.ajax({
        url: $(this).attr('action'),
        type: $(this).attr('method'),
        data: $(this).serialize(),
        success: function(html) {
        alert('ok');
        window.location("Thanks page link");
        }
    });
    e.preventDefault();

});
</script>

2 个答案:

答案 0 :(得分:0)

添加一个.success()回调函数,以便在请求完成后成功调用。在该功能中,将用户重定向到所需的谢谢页面。

像这样:

$.ajax({
    url: $(this).attr('action'),
    ...
    success: function(result) {
        // result unused, drop it if you want :)
        window.location.replace('url_to_your_thank_you_page');
    }
});

答案 1 :(得分:0)

首先将此$(document).on('submit', '.formID', function(e) {更改为此$(document).on('submit', '#formID', function(e) { 现在尝试在e.preventDefault();来电之前将此行ajax置于最前面:

$('#formID').submit(function(e) {
    e.preventDefault();
    $.ajax({
        url: $(this).attr('action'),
        type: $(this).attr('method'),
        data: $(this).serialize(),
        success: function(html) {
            alert('ok');
            window.location("Thanks page link");
        }
    });
});  

修改
根据您的评论,我不熟悉gscript的API,但可能会考虑放置一个会调用您的函数的button然后有问题地执行$('#myForm').submit()