2015-07-24 2 views
0

После того, как я отправлю форму профиля редактирования для FOSUserBundle, я хочу, чтобы ответ отправился в div. Как это сделать? Я не могу сделать это через jquery, так как мой четный обработчик вообще не называется. Ответ загружается как новая страница.Отправка ответа отправки ответа на div

$("#user_management").find('form').submit(function(e) 
    { 
     e.preventDefault(); //STOP default action 
     var postData = $(this).serializeArray(); 
     var formURL = $(this).attr("action"); 
     console.log('Form clicked.'); 
     $.ajax(
     { 
      url : formURL, 
      type: "POST", 
      data : postData, 
      success:function(data, textStatus, jqXHR) 
      { 
       //data: return data from server 
       loadDataToTarget(data,textStatus,'targetDiv'); 
      }, 
      error: function(jqXHR, textStatus, errorThrown) 
      { 
       //if fails  
       console.log('Form submit fail: ' + textStatus); 
      } 
     }); 

     //e.unbind(); //unbind. to stop multiple form submit. 
    }); 
    $("#user_management").find('form').submit(); //Submit the FORM 

Примечание: форма находится в div_ useragement. Функция отлично работает, когда я ввожу весь код выше на javascript-консоли в режиме отладки. Но, когда я нажимаю кнопку «Отправить», эта функция не попадает вообще, и вся страница перезагружается с ответом.

Новая информация: Когда я нажимаю кнопку отправки, событие обрабатывается валидатором. На этом этапе я хочу, чтобы событие было доступно для захвата ajax, так что представление может быть выполнено с помощью ajax. Вместо этого, после проверки формы Symfony идет вперед с представлением формы и перезагружает всю страницу.

Кто-нибудь, пожалуйста, расскажите мне, как заставить валидатор работать, но затем оно станет доступным для захвата ajax.

+0

Пожалуйста, поделитесь источником? Вы используете aJax? –

+0

Да, я использую ajax и обновил соответствующий код. Код ajax, который я обновил в своем вопросе, работает из консоли js, но он не попадает, когда я нажимаю кнопку отправки в форме. Я думаю, что событие обрабатывается FOSUserBundle, и оно также отправляет форму. Как получить событие tome для моей функции ajax? –

+0

Выполняет ли блок '$ form-> isValid()' значение 'true'? Если нет, у меня был подобный случай некоторое время назад, где return * inside * 'if' возвращал данные JSON, но окончательный возврат был перенаправлен. Может быть что-то подобное? – iLikeBreakfast

ответ

0

Я не понимал, что мне нужно добавить слушателя событий для элементов только что созданных элементов ajax. Как только я это сделал, ajax взял верх. Я в порядке сейчас. Спасибо, что предоставил мне ценные советы.

Смежные вопросы