function makeAjaxRequest(data1,data2,.....,datax){
$.ajax({
'type':'POST',
async: false,
url: 'http://www.example.com/some_request_url',
data:{param1:data1,param2:data2,....,paramx:datax},
success : function(response) {
console.log(response); // Using this you can check the posted data in browser console window
return true;// you can process and return the response as required
//location.reload(); // or you may reload the current page also
},
error: function (jqXHR, exception) {
// If some error is returned, you can check the details below
var msg = '';
if (jqXHR.status === 0) {
msg = 'Not connect.\n Verify Network.';
} else if (jqXHR.status == 404) {
msg = 'Requested page not found. [404]';
} else if (jqXHR.status == 500) {
msg = 'Internal Server Error [500].';
} else if (exception === 'parsererror') {
msg = 'Requested JSON parse failed.';
} else if (exception === 'timeout') {
msg = 'Time out error.';
} else if (exception === 'abort') {
msg = 'Ajax request aborted.';
} else {
msg = 'Uncaught Error.\n' + jqXHR.responseText;
}
$('#post').html(msg); // return the error response in your html page or process it further as required
}
});
}
Now why this occur. Since you are calling the submit function from the ajax response, you need to remove the “submit” handler before submitting the form again. I.E. You need to submit the form without doing the ajax call again. Refer below:-
$.ajax({
type : “POST”,
url : “to/some/url”,
data : {
userName:userName,
mobileNumber:mobileNumber,
otp:otp
},
dataType : “json”,
success : function(data)
{
if(data.result == true) {
// Submit this form without doing the ajax call again
jQuery(“#form_id”).unbind().submit();
}else {
return false;
}
}
});
function validateEmail(email) {
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,6})?$/;
return emailReg.test(email);
}
Usage:-
if(validateEmail(emailString)){
alert('Your email is valid');
}
else{
alert('Your email is not valid! There should be atleast @ and one dot(.) present in it');
}
First add the custom method to the validation library as below. Can you put this code in your jquery validation file or in your page where you want to validate the date, just before setting your validation rule for your form.
$.validator.addMethod(“dateFormat”,
function (value, element) {
return value.match(/^(?:(0[1-9]|1[012])[\/.](0[1-9]|[12][0-9]|3[01])[\/.](19|20)[0-9]{2})$/);
},“Please enter a date in the format mm/dd/yyyy.”);
Now suppose you are using a datepicker or input field to accept the date in mm/dd/yyyy format like 02/21/2018 as example. You can validate it as below;
<script type="text/javascript">
function isValideDate(datavalue){
var regexValidDate = /^(?:(0[1-9]|1[012])[\/.](0[1-9]|[12][0-9]|3[01])[\/.](19|20)[0-9]{2})$/;
return regexValidDate.test(datavalue);
}
var dateToCheck = '06/01/2011',
if(isValideDate(dateToCheck)){
alert("Given date is valid as per the format of MM/dd/YYYY");
}else{
alert("Given date is not valid as per the format of MM/dd/YYYY");
}
</script>
<html>
<body>
<h1>Welcome to my Website</h1>
<h4 id=”msg”>You will be redirected to another page in 5 seconds!</h4>
<script type=”text/javascript”>
function countDown(i, callback) {
callback = callback || function(){};
var int = setInterval(function() {
//document.getElementById(“displayDiv”).innerHTML = “Number: ” + i;
document.getElementById(“msg”).innerHTML = “You will be redirected to backend page in “+i+” seconds!”;
i– || (clearInterval(int), callback());
}, 1000);
}
setTimeout(function(){
countDown(5, function(){
window.location=”[Give your absolute or relative url to redirect]”;
});
}, 3000);
</script>
</body>
</html>