I have a form which has no input button. It has to capture data as the user types. So I've came up with the following code:
<form>
<input type="text" name="nameValidation" id="nameValidation" placeholder="Name">
<input type="number" name="phoneValidation" id="phoneValidation" placeholder="Phone">
<input type="email" name="emailValidation" id="emailValidation" placeholder="Email">
</form>
<script>
$(function() {
var phoneIsValid;
var emailIsValid;
$('#nameValidation').on('input', function() {
var nameValisession = $(this).val();
sessionStorage.setItem("nameValiSession", nameValisession);
var nameValisession = sessionStorage.getItem("nameValiSession");
});
$('#phoneValidation').on('input', function() {
var phoneValisession = $(this).val();
sessionStorage.setItem("phoneValiSession", phoneValisession);
// Start of phone validation - make sure its not empty
if(phoneValisession != "") {
phoneIsValid = 1;
alert(phoneIsValid);
return phoneIsValid;
} else {
phoneIsValid = 0;
alert(phoneIsValid);
return phoneIsValid;
}
// End of phone validation
});
$('#emailValidation').on('input', function() {
var emailValisession = $(this).val();
sessionStorage.setItem("emailValiSession", emailValisession);
// Start of email validation - check if have @ sign
var emailValid = emailValisession.includes("@");
if(emailValid==true) {
emailIsValid = 1;
alert(emailIsValid);
} else {
emailIsValid = 0;
alert(emailIsValid);
}
// End of email validation
});
});
</script>
You can ignore namevalidation for now. So basically I want to check if emailIsvalid = 1 AND emailIsValid = 1. If both are, then I want to display alert("success"); else, I want to display alert("fail");.
So, I tried this:
var sample = phoneFunc();
$(document).ready(function() {
$("#phoneValidation").change(function() {
if(sample==1) {
alert("success!");
} else {
alert("fail");
}
});
});
However, this just keeps showing me fail. How do I go about fixing this or where am I going wrong?