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">×</button><strong>Ошибка!</strong> Все поля обязательны для заполнения! </div>');
/*
<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">×</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(){
}
Но это результатов не дало.
Товарищи, кто может объяснить, как можно выкрутиться из данной ситуации? Желательно, с примерами.
Есть куча кнопочек, которые подгружаются по клику по кнопке
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">×</button><strong>Ошибка!</strong> Все поля обязательны для заполнения! </div>');
/*
<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">×</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(){
}
Но это результатов не дало.
Товарищи, кто может объяснить, как можно выкрутиться из данной ситуации? Желательно, с примерами.