How to redirect after form validation?

AL1ENB0Y

I'm trying to set up a redirect after my form validation script runs. But when I click submit it throws my requires a valid email error and then redirects skipping my validation checks.

Currently I've tried adding the function in at the bottom of my js file. But it redirects with out running the validations.

HTML
<button class="popup-button" onclick="openForm()">Open Form</button>
<div class="form-popup" id="form">
<form id="form" onsubmit="return formValidate(event)">
<p>
<input type="text" id="e-mail" placeholder="Email" />
</p><p>
<input type="password" id="pswd" placeholder="Password" />
</p>
<br>
<input id="submitButton" type="submit" class="submit" 
onclick="redirect()">
 <br>
<button type="button" class="btn cancel" 
onclick="closeForm()">Close</button>
</form>

JS
  function formValidate(event) {
event.preventDefault();
var form = document.getElementById('form');
var email = document.getElementById('e-mail').value;
var password = document.getElementById('pswd').value;

var emailRGEX = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;

var emailResult = emailRGEX.test(email);
//validate Email
if(emailResult == false){
alert("Please enter a valid email address");
return false;
}

//validate lower case
var lowerCaseLetters = /[a-z]/g;
if(password.match(lowerCaseLetters) == null) {
  alert("Password needs a lower case!");
  return false;
}

//validate upper case
var upperCaseLetters = /[A-Z]/g;
if(password.match(upperCaseLetters) == null){
  alert("Password needs an upper case!");
  return false;
}

//validate numbers
var numbers = /[0-9]/g;
if(password.match(numbers) == null){
  alert("Password needs a number!");
  return false;
}
//validate special characters
 var special = /[!@#$%^&*(),.?":{}|<>]/g;
 if(password.match(special) == null){
alert("Password needs a special character!");
return false;
}
 //validate password length
 if(password.length<8) {
alert("Password needs to be at least 8 characters");
return false;
}

form.submit();

 }
function redirect(){
window.location.href="thankyou.html";
}

I expect the form to redirect to my thankyou.html page after running the validation checks.

Andrew Daly

Put the redirect in the validation function before form.submit

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

Django ajax form - redirect to main page after form validation

How to redirect after submitting form

jQuery/JS won't redirect after validation of form

CodeIgniter won't redirect after successful form validation

How can I redirect to a form after an alert?

How to redirect user after submitting form with React

how to redirect page after sending javascript form

How to redirect users after form submission?

How to redirect website after submitting google form?

How to redirect after submitting form in php

How to Route User After Form Validation In React?

How to render template after failed form validation?

How to submit form after validation in angularjs?

Laravel How to send parameters to view after validation on automatic redirect

Redirect After Form Submit

Redirect after form submit or not?

Posting a form after validation

How to redirect after redirect?

Avoid Laravel redirect after validation

Form not submitting after form validation

How to stop redirect from partial page after form submit

How to open a specific modal after form submitted and location redirect

How to redirect to another HTML page after submitting a form?

After submit the form how do I redirect to welcome component in React

How to redirect page after saving the form to the database using Laravel?

With React, redux-form, how to redirect after SubmitSuccess?

How to redirect in same tab in after form submisson inspring mvc controller

How do I redirect users after successfully submitting form data?

How to redirect user to /creatPost after he fill in the login form?