Validation part of my jQuery works, however, the AJAX part does not seem to be doing anything and I am wondering why? It comes up with no errors and the registration works perfect without the AJAX, however, I have to use it.
HTML form in register.php:
<form method="post" action="register.php" name="registration-form" id="register-form">
<div class="form-group" id="email-group">
<label for="email"> Email address </label>
<input id="email" type="email" name="email" class="form-control" aria-describedby="emailHelp" required>
</div>
<div class="form-group" id="password-group">
<label for="password"> Password </label>
<input id="password" type="password" name="password" class="form-control" required>
</div>
<div class="form-group form-check">
<input type="checkbox" name="terms" class="form-check-input" required> I accept the <a class="privacy-link"
href="privacy-policy.php"> Privacy Policy </a>
</div>
<button type="submit" name="register_user" class="btn btn-primary" value="register_user">Register</button>
</form>
jQuery with AJAX:
$(document).ready(function () {
$("#register-form").submit(function (event) {
event.preventDefault();
}).validate({
rules: {
email: {
minlength: 6
},
password: {
minlength: 8
}
},
messages: {
email: "Email should be at least 6 characters",
password: "Password should be at least 8 characters"
},
submitHandler: function (form) {
var email = $("#email").val();
var password = $("#password").val();
$.ajax({
url: "register.php",
contentType: "application/json",
type: "POST",
data: {
email: email,
password: password
}
}).done(function (response) {
// some actions
});
}
});
});
register.php PHP to handle it:
if (isset($_POST['register_user'])) {
/* Others */
}
I tried various "isset", but to no avail.