Я делаю проверку формы, где должны быть обязательны все поля, а также проверить, согласны ли пользователи с условиями, а также проверить правильность адреса электронной почты. Он почти работает, этот код дает мне ответ, если я не ввел имя/e-mail и т. Д., Но если я введу эту информацию, он не скроет() .alert. И затем не отвечает на флажок для условий и проверки «действительной электронной почты». .alert также всегда должен быть «скрытым», если нет «ответа».Проверка формы, если/else с помощью JQuery
Где этот код не работает? Есть предположения?
$("form").submit(function (e) {
e.preventDefault(); // This will prevent the form submission
var response = "";
$('#submit-holder').find('input').each(function(){
if ($(this).val() == '') {
response += ", " + $('label[for="' + this.id + '"]').html();
empty_fields = true;
}
else if ($(this).val() == !'') {
empty_fields = false;
$('.alert').hide()
}
else if(empty_fields = true) {
$('.alert').addClass('alert-danger')
$('.alert').fadeIn()
$('.error_message').text(response.replace(", ", "You need to fill out: "))
message = response.replace(", ", "You need to fill out: ")
response_message(message)
}
else if ($('[name="txtEmail"]').length !== 0) {
var email = $('[name="txtEmail"]').val();
if(IsEmail(email)==false){
message = "The e-mail address you've entered is invalid";
response_message(message)
//return false;
}
}
else if($('#user_terms').not(":checked")){
message = "You need to accept the terms and conditions to continue";
response_message(message)
//return false;
}
});
if($('#user_terms').is(":checked") && !response) {
// Send the form
}
// Functions:
function IsEmail(email) {
var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if(!regex.test(email)) {
return false;
}else{
return true;
}
}
function response_message(message) {
$('.alert').addClass('alert-danger')
$('.alert').fadeIn()
$('.error_message').text(message)
}
еще если ($ (это) .val() == «») {- выглядит как виновника ... –
Это выглядит так, как будто вам не хватает ряд конца строки с запятой; – RedEyedMonster
Возможный дубликат [Форма JQuery не будет проверяться на успех] (http://stackoverflow.com/questions/18379864/jquery-form-wont-validate-to-success) – mplungjan