Задать вопрос

InnerHTML + Ajax. Проблемы с сабмитом формы?

Ситуация такая: через ajax и innerHTML в нужное место страницы подгружается форма которая формируется в отдельном php файле.
function refresh(){ 
	 $.ajax({
				url: "ajax/db_table.php",
				success: function (data) {
				document.getElementById('boxcontent').innerHTML = data;
				}
			});
	 }
	window.onload = refresh();

Проблема заключается в том, что эту новоиспеченную форму мне нужно сабмитить через ajax.
$( document ).ready(function() {
var frm_upd = $('#upd_db');
    frm_upd.submit(function (ev) {
        $.ajax({
            type: frm_upd.attr('method'),
            url: frm_upd.attr('action'),
            data: frm_upd.serialize(),
            success: function (data) {
			if (data == "ok"){
				$.gritter.add({
					text: 'Информация успешно обновлена.'
				});
			  }else{
			    $.gritter.add({
					text: 'Ошибка! Информация не обновлена.'
				});
			}
            }
        });
        ev.preventDefault();
    });	
});

Форма #upd_db отправляет post запрос к файлу db.php, если все прошло нормально то db.php возвращает ответ "ok". В БД все обновляется нормально, проблема в том, что после сабмита формы меня в браузере перекидывает к файлу db.php и я просто вижу надпись "ok", а по идее меня со страницы с формой никуда кидать не должно, только уведомлялка должна всплыть все хорошо или нет.
Интересное наблюдение. Форма подгружается на страницу через ajax и innerHTML и она действительно видна на странице. Но когда смотрю код страницы в браузере то кода формы там не видно, т.е. просто пустой div #boxcontent. Возможно, поэтому Javascript и не может достучаться до этой формы. Пытался подгружать javascript для сабмита через ajax вместе с формой, но результат тот же самый: меня снова перекидывает к файлу db.php.
Может у кого-нибудь есть идеи в чем проблема и как её решить?
  • Вопрос задан
  • 4751 просмотр
Подписаться 2 Оценить Комментировать
Ответ пользователя sasha К ответам на вопрос (5)
madmages
@madmages
Человек прямоходящий
я бы сделал проще с средствами XMLHttpRequest2, динамически создать форму и на аяксе спокойно ее отправлять, но как вариант просто накинь на кнопку отправки форму вот это ... onclick="return false" и все дела.
Ответ написан
Комментировать