8

我在成功完成表单后将用户重定向到感谢页面时遇到问题。发生的情况是,在表单提交后,它会进入一个空白页面(https://cunet.sparkroom.com/Sparkroom/postLead)......我需要它重定向到感谢页面,同时将表单详细信息提交给“表单操作”中的 URL。

HTML 代码:

<form action="https://cunet.sparkroom.com/Sparkroom/postLead/" method="post" name="theForm" 
id="theForm" onSubmit="return MM_validateForm();" >
...
</form>

阿贾克斯代码:

<script src="http://malsup.github.com/jquery.form.js"></script> 
<script> 
    $(document).ready(function() { 
        $('#theForm').ajaxForm(function() { 
           alert('form was submitted');
        }); 
     success:function(response) {
           location.window.href = "redirect user to the thank you page";
                }
    }); 
</script> 

JavaScript:

function MM_validateForm() {
if ( !jQuery('#theForm #FirstName').val() ) {
alert('Please input your first name.');
jQuery('#theForm #FirstName').focus();
return false;
}
if ( !jQuery('#theForm #LastName').val() ) {
alert('Please input your last name.');
jQuery('#theForm #LastName').focus();
return false;
}
if ( !jQuery('#theForm #daytimephone').val() ) {
alert('Please input your phone number.');
jQuery('#theForm #daytimephone').focus();
return false;
}
if ( !jQuery('#theForm #Email').val() ) {
alert('Please input your email.');
jQuery('#theForm #Email').focus();
return false;
}
if ( !jQuery('#theForm #BID').val() ) {
alert('Please select your preferred campus.');
jQuery('#theForm #BID').focus();
return false;
}
if ( !jQuery('#theForm #programs').val() ) {
alert('Please select your preferred program.');
jQuery('#theForm #programs').focus();
return false;
}
if ( !jQuery('#theForm #How_Heard').val() ) {
alert('Please select how you heard about us.');
jQuery('#theForm #How_Heard').focus();
return false;
}
return true;
}
// ]]></script>

有谁知道我做错了什么?我需要表单将数据提交到 URL,然后将用户重定向到“谢谢”页面

4

7 回答 7

18

您的成功回调语法不正确。它应该是:

$('#theForm').ajaxForm(function() { 
    window.location.href = "/path/to/thankyoupage";
});

另外,请注意它是window.location.href而不是location.window.href

于 2013-07-19T14:16:09.450 回答
1

这是一个jQuery解决方案:

window.location("www.example.com");
于 2013-07-19T14:39:36.407 回答
1

你应该使用

window.location.href = "http://www.google.com";

并不是

location.window.href = "http://www.google.com";

http://www.w3schools.com/js/js_window_location.asp

成功应该是作为参数传递给 $.ajaxForm 的函数:

$('#theForm').ajaxForm(function() { 
           window.location.href = "redirect user to the thank you page";
        }); 
于 2013-07-19T14:15:55.273 回答
1
//Please try this    
<script src="http://malsup.github.com/jquery.form.js"></script> 
    <script> 
        $(document).ready(function() { 
            $('#theForm').ajaxForm(function() { 
               alert('form was submitted');
            }); 
         success:function(response) {
               if(response){ // check whether response is received
                    location.window.href = "http://your_domain_name/thank-you";}
               }
        }); 
    </script> 
于 2015-04-23T05:34:34.847 回答
1

你可以这样尝试:

 success: function (data) {
    window.location.href = data.redirecturl;
},
error: function () {
    alert('error happened');
}
于 2019-10-19T12:13:34.407 回答
1

在完全不同的 OP 上下文中,以下代码对我有用:

$(document).ready(function() {
  window.location.href = "URL";
  });

于 2019-01-15T13:32:40.320 回答
-2

应该

window.location = "http://www.google.com";
于 2013-07-19T14:15:46.697 回答