@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>
  • Вопрос задан
  • 567 просмотров
Пригласить эксперта
Ответы на вопрос 1
Alovinglol
@Alovinglol
front-end developer
Вы инлайново прописываете метод который вам нужно выполнить, а нужно инициализировать прямо на элемент.
Я бы посоветовал этот онклик делегировать с формы или внутри чего он у вас находиться, примерно так это должно выглядить:
$('#list_result').on('click', '#btn', function(){
  AjaxFormRequest('list_result', 'form$id_form', 'edit.php')
});
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Rocket Брянск
от 60 000 до 100 000 ₽
22 мая 2024, в 07:09
50000 руб./за проект
22 мая 2024, в 02:15
10000 руб./за проект
21 мая 2024, в 23:47
30000 руб./за проект