Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Вопрос по скрипту


Recommended Posts

Добрый день. Подскажите если не сложно, форма обратной связи, задача сделать что бы корректно работала на всех устройствах, но есть проблемы с safari и експлоером старым

 

 

Есть скрипт который проверяет заполненность поля с required

function fnCheckFields(form_obj){
    var error_msg = "Пожалуйста, заполните все обязательные поля.";
    var is_error = false;
    for (var i = 0; form_obj_elem = form_obj.elements[i]; i++)
        if (form_obj_elem.type  "input" || form_obj_elem.type  "text")
            if (form_obj_elem.getAttribute("required") && !form_obj_elem.value)
                is_error = true;
    if (is_error) alert(error_msg);
    return !is_error;
}

 

И есть скрипт который отсылает данные к обработчику

 

$(document).ready(function() {

    $("#form").submit(function() {
        $.ajax({
            type: "POST",
            url: "forms/callback/mail.php",
            data: $(this).serialize()
        }).done(function() {
            $(this).find("input").val("");
            alert("Спасибо за заявку! Скоро мы вам перезвоним.");
            $("#form").trigger("reset");
                        $.fn.colorbox.close();
        });
        return false;
    });
    
});

 

Как сделать что если первый скрипт проверил и поля заполнены то запускать второй скрипт, а если не заполнено то выводить сообщение "Пожалуйста, заполните все обязательные поля."

 

 

Надіслати
Поділитися на інших сайтах


В 09.05.2017 в 17:41, Designer сказал:

alexb, попробуйте так:

 

  Скрыть контент


function fnCheckFields(form_obj){
    var error_msg = "Пожалуйста, заполните все обязательные поля.";
    var is_error = false;
    for (var i = 0; form_obj_elem = form_obj.elements[i]; i++)
        if (form_obj_elem.type  "input" || form_obj_elem.type  "text")
            if (form_obj_elem.getAttribute("required") && !form_obj_elem.value)
                is_error = true;
    if (is_error) alert(error_msg);
    return !is_error;
}


 
$(document).ready(function() {
    $("#form").submit(function() {
		var obj = $(this).serializeArray();		
		
		if (fnCheckFields(obj)) {
			$.ajax({
				type: "POST",
				url: "forms/callback/mail.php",
				data: $(this).serialize()
			}).done(function() {
				$(this).find("input").val("");
				alert("Спасибо за заявку! Скоро мы вам перезвоним.");
				$("#form").trigger("reset");
				$.fn.colorbox.close();
			});
		}
		
        return false;
    });
});

 

 

 

К сожалению не срабатывает скрипт отправки, не отправляет и не выводит сообщение "Спасибо за заявку! Скоро мы с вами свяжемся."

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.