Работа с элементом, не находящимся в DOM

Статус
Закрыто для дальнейших ответов.

Radiance

Active Member
Регистрация
04.03.2015
Сообщения
35
Привет всем. Столкнулся с такой проблемой.

Есть куча кнопочек, которые подгружаются по клику по кнопке



function loadBlock(block){
$('#blockplace').html('<center><h3>Загрузка</h3><img src = "/img/load.gif"></center>');
var msg = 'method=getblock&block='+block;
alert(msg);
$.ajax({
type: 'POST',
url: 'ajax.php',
data: msg,

success: function(data) {
$('#blockplace').html(data);
},
error: function(xhr, str){
alert('Возникла ошибка: ' + xhr.responseCode);
}
});
}

Как я уже сказал - в ответ от сервера приходят формы, и встраиваются на страницу.

Соответственно, они не известны DOM, и не удаётся с ними работать далее - отправить аяксом

Сам аякс:

$(document).ready(function() {
$("#form").submit(function(){
preloader();
var form = $(this);
var error = false;
form.find('input, textarea').each( function(){
if ($(this).val() == '') {
$('#response').html('<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">&times;</button><strong>Ошибка!</strong> Все поля обязательны для заполнения! </div>');
/*
<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">&times;</button><strong>Ошибка!</strong>'+$(this).attr('placeholder')+' </div>
*/
error = true;
}
});
if (!error) {
var data = form.serialize();
$.ajax({
type: 'POST',
url: 'ajax.php',
// dataType: 'json',
data: data,
beforeSend: function(data) {
form.find('input[type="submit"]').attr('disabled', 'disabled');
},
success: function(data){
if (data['error']) {
$('#response').html(data);
} else {
$('#response').html(data);
}
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
},
complete: function(data) {
form.find('input[type="submit"]').prop('disabled', false);
}

});
}
return false;
});
});

Пытался обернуть аякс в

$(document).on('submit', '#form', function(){


}

Но это результатов не дало.

Товарищи, кто может объяснить, как можно выкрутиться из данной ситуации? Желательно, с примерами.
 

Radiance

Active Member
Регистрация
04.03.2015
Сообщения
35
Как ни странно, но

$(document).on('submit', '#form', function(){
....

}

Всё таки помогло.
Но теперь, при отправке формы, не могу забрать из инпутов данные через serialize();
 
Статус
Закрыто для дальнейших ответов.
Верх Низ