web-dev-qa-db-fra.com

Comment rediriger l'utilisateur vers une autre page après la soumission du formulaire Ajax

Je ne parviens pas à rediriger l'utilisateur vers une page de remerciement une fois le formulaire rempli. Qu'est-ce qui se passe, c'est qu'après que le formulaire soit soumis, il passe à une page vierge ( https://cunet.sparkroom.com/Sparkroom/postLead ) ... J'en ai besoin pour rediriger vers une page de remerciement lors de l'envoi les détails du formulaire à l'URL dans l'action 'formulaire'.

Code HTML:

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

Code Ajax:

<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>

Est-ce que quelqu'un sait ce que je fais mal? J'ai besoin du formulaire pour soumettre les données à l'URL, puis après avoir redirigé l'utilisateur vers une page de remerciement.

7
June

Votre syntaxe de rappel de réussite est incorrecte. Ce devrait être plutôt:

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

Notez également qu'il s'agit de window.location.href et non de location.window.href

14
techfoobar
//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> 
1
Sashant Pardeshi

Ceci est une solution jQUery:

window.location("www.example.com");
1
user2373802

Le code suivant a fonctionné pour moi, dans un contexte complètement différent du PO:

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

0
Marco Floriano

Tu devrais utiliser

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

et pas 

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

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

Le succès devrait être une fonction passée en argument à $ .ajaxForm:

$('#theForm').ajaxForm(function() { 
           window.location.href = "redirect user to the thank you page";
        }); 
0
edi9999