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

Повторно не отправляются данные, что делать?

Добрый день, когда пытаюсь отправить повторно уже из обновленного блока данные формы через ajax, ничего не происходит, то есть, блок обновляется, но данные не отправляются.
<script type="text/javascript">
function AjaxFormRequest(result_id,form_id,url) {
               jQuery.ajax({
                    url:     url, //Адрес подгружаемой страницы
                    type:     "POST", //Тип запроса
                    dataType: "html", //Тип данных
			        data: jQuery("#"+form_id).serialize(),
	               success: function(response) { //Если все нормально
	               document.getElementById(result_id).innerHTML = response;
                },
	             error: function(response) { //Если ошибка
                document.getElementById(result_id).innerHTML = "Ошибка сохранения";
                }
             });
		
	
        }
</script>

Онклик на button
<input value='' type=button class=postbutton onclick=\"AjaxFormRequest('list_result', 'form$id_form', 'edit.php')\" id=btn>

Вся информация обновляется в блок с id=list_result, там же находятся все формы с разными id, после физической перезагрузки первая отправка формы работает, пытаюсь отправить дальше, результата нет, блок обновляется, но данные не отправляются.
Пробовал вот так, результат такой же
<script type="text/javascript">
$(document).ready(function(){

   $('#list_result').on('submit', '#add', function(e){
        //отменяем стандартное действие при отправке формы
        e.preventDefault();
        //берем из формы метод передачи данных
        var m_method=$(this).attr('method');
        //получаем адрес скрипта на сервере, куда нужно отправить форму
        var m_action=$(this).attr('action');
        //то есть в стандартном формате передачи данных формы
        var m_data=$(this).serialize();
            $.ajax({
            type: m_method,
            url: m_action,
            data: m_data,
                success: function(result){
                    $('#list_result').html(result);
                }
            });
        });
});
		
</script>
  • Вопрос задан
  • 577 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
Alovinglol
@Alovinglol
front-end developer
Вы инлайново прописываете метод который вам нужно выполнить, а нужно инициализировать прямо на элемент.
Я бы посоветовал этот онклик делегировать с формы или внутри чего он у вас находиться, примерно так это должно выглядить:
$('#list_result').on('click', '#btn', function(){
  AjaxFormRequest('list_result', 'form$id_form', 'edit.php')
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы