3

我在成功完成表单后将用户重定向到感谢页面时遇到问题。发生的情况是,在表单提交后,它会进入一个空白页面(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> 
    $('#theForm').ajaxForm(function() { 
    window.location.href = "I want the user to be redirected to this 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

4 回答 4

4

尝试

window.location.href = "http://www.msdn.com";
于 2013-07-19T14:55:34.983 回答
3

尝试:

$('#theForm').ajaxForm(function() { 
 success : function(){
    window.location.href = "Url to redirect here in the success option";
 }
});
于 2013-07-19T14:54:13.187 回答
0

表单发布成功后,有两种方法可以重定向用户。

1)您可以在 ajax 提交中放置一个成功事件,您可以在其中简单地将用户重定向到感谢页面。

2)在表单后处理完成后使用服务器端函数 For Ex in PHP:

header("Location: http://thankyoupage.html");
于 2013-07-19T15:11:17.817 回答
0

您可以使用 jquery 处理提交帖子,因此您必须取消表单中的操作

    <form  name="theForm" id="theForm" >

只需给提交按钮一个类或 ID

    <submit class='submitTheForm'....>

代码将是这样的..您只需要包含所有具有正确名称的表单变量。

然后在MM_validateForm()底部添加jquery post请求

    if ( !jQuery('#theForm #How_Heard').val() ) {
    alert('Please select how you heard about us.');
    jQuery('#theForm #How_Heard').focus();
    return false;
    }

    $.post("https://cunet.sparkroom.com/Sparkroom/postLead/",
{
FirstName:FirstName,
LastName:LastName
    ...
    ...
},
function(){
    window.location.href = 'thank you page'
    }
});

最后在点击提交按钮时调用函数 MM_validateForm()

    $('.submitTheForm').click( function(){
    MM_validateForm();
    });

来自http://api.jquery.com/jQuery.post/的jquery 帖子,其余的来自个人经验。

于 2013-07-19T15:19:04.557 回答