Показать сообщение отдельно
  #18 (permalink)  
Старый 25.08.2016, 11:48
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

fenix_63,
из-за кучи ошибок в консоли я вчера поленился все просмотреть, а форм то оказывается две, и поведение второй указывает на то, что формы на страницу что-то добавляет динамически. А значит то, что писал вчера и не будет работать.

И если использовать функцию AjaxFormRequest(), то лучше это сделать так:

<form id="order_form" class="form text-top" onsubmit="yaCounter39237950.reachGoal('order_form' , function () {alert('Заявка отправлена!');}"

Зачем этои и зачем здесь разбирайтесь, alert('Заявка отправлена!') по крайней мере здесь точно лишнее. Но если так:

onsubmit="return AjaxFormRequest(this)", а в функции:

function AjaxFormRequest(f) {
                jQuery.ajax({
                    url:     'order.php', //Адрес подгружаемой страницы
                    type:     "POST", //Тип запроса
                    dataType: "text", //Тип данных
                    data: jQuery(f).serialize(), 
                    success: function(response) { //Если все нормально
                    	alert("Сообщение отправлено!");
                },
                error: function(response) { //Если ошибка
                	alert('Error!');
                }
             });
            return false
        }


то отправка формы естественным путем будет отменена.

jQuery("#order_form").serialize() - так не получится, всегда будут отправляться данные первой формы, хотя отправляться будет вторая - id должно быть уникальным, а у вас они одинаковы у обеих форм.

И добавьте хотя бы атрибут required полям формы, иначе ее свободно и пустую отправить можно, а код проверки данных на сервере изменить, иначе все это халтура. Ошибки заполнения формы сервер должен возвращать клиенту, то есть не

success: function(response) { //Если все нормально alert("Сообщение отправлено!");

а диалог.
Ответить с цитированием