У меня есть форма, которая проверяет значение за раз. Когда все значения проверяются и корректируются, моя функция сообщения ajax не хочет публиковать сообщения. Я бы хотел опубликовать сообщение, когда все значения верны. Одно текстовое поле имеет имя, последнее текстовое поле - электронное письмо.Проверка на стороне клиента не публикует значения
Пожалуйста, проверьте мои jsFiddle и код ниже.
HTML:
<form enctype="multipart/form-data" method="post" id="myform" name="myform_1">
<input type="text" value="" id="name" name="myname" />
<input type="text" value="" id="email" name="myemail"/>
<input type="submit" value="Valid" id="validate" name="validate"/>
</form>
Javascript:
$(document).ready(function(){
function checkLength(o, n, min, max) {
if (o.val().length > max || o.val().length < min)
{
o.css("background-color","#F30");
return false;
}
else
{
o.css("background-color","#FFF");
return true;
}
}
function checkRegexp(o, regexp, n) {
if (!(regexp.test(o.val())))
{
o.css("background-color","#F30");
return false;
}
else
{
o.css("background-color","#FFF");
return true;
}
}
//Click action
$("#validate").click(function()
{
var name = $("#name");
var email = $("#email");
var valid = true;
emailRegex = /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-][email protected][a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/
valid = valid && checkLength(name,"Please enter a name",3,6);
valid = valid && checkRegexp(name, /^[a-z]([A-Z_\s])+$/i, "Name may consist of a-z, and 3 or more characters.");
valid = valid && checkLength(email, "email", 6, 80);
valid = valid && checkkRegexp(email, emailRegex, "eg. [email protected]");
//Email
//alert ($("#myform").serialize());
//End of Email
if(valid)
{
var request = $.ajax({
url: "inc/newsletter.php", // Ofcourse this would be your addLike.php in your real script
type: "POST",
data: $("#myform").serialize()
});
request.done(function(msg) {
alert("Your details have been saved");
location.reload();
});
request.fail(function(jqXHR, textStatus) {
alert("Request failed: " + textStatus);
});
return valid;
}
else
{
alert("No;")
}
});
});