#jquery #ajax #modal-dialog
#jquery #ajax #модальный диалог
Вопрос:
во-первых, извините за мой английский! Я попытался объяснить свою проблему: у меня есть модальный (bootstrap), который заполняется вызовом ajax, в этом модальном у меня есть форма, и отправка выполняется в ajax. Когда я вызываю модальный, у меня нет проблем, форма отображается нормально, но когда я отправляю форму (с помощью ajax), ничего не добавляется, функция вызывается нормально (если я помещаю консоль.войдите в вызываемую функцию, у меня есть трассировка), но вызов ajax не работает… Вот мой процесс: сначала у меня есть кнопка, которая вызывает первый ajax, чтобы открыть модальный с помощью формы goof :
<a class="btn btn-info _filemanager waves-effect waves-light" data-toggle="modal" data-target="#defaultModal" data-id="course_visuel">Carte et bandeau</a>
в модальном у меня есть вызов формы с этим кодом :
$(document).on('click', '._filemanager', function(){
$('#default-modal-content').html(spinner());
var input = $(this).data('id');
$.ajax({
url: '/ged/ajax/dialog',
type: 'POST',
data: 'input=' input,
processData: false,
dataType: false,
cache: false,
getScript: true,
async: true,
})
.done(function(s) {
var res = jQuery.parseJSON(s);
if(res.status == 'success') {
$('#default-modal-content').html(res.html);
$('.mdb-select').materialSelect();
}
});
});
вот код из формы :
<form id="formFolderGed">
<div class="form-group md-form">
<input class="form-control" name="ged_folders_name" type="text" required>
<label for="ged_folders_name">{{ l.folder_name }}<sup class="text-red"><b>*</b></sup></label>
</div>
<div class="form-group md-form">
<label for="ged_folders_id" class="active">{{ l.choose_parent }}</label>
<select name="ged_folders_id" class="mdb-select md-form colorful-select dropdown-primary">
<option value="{{ parents.ged_folders_id }}">{{ parents.ged_folders_name }}</option>
{{ _self.selectFolder(parents, 1) }}
</select>
</div>
<div class="panelFooter">
<div class="form-group">
<button class="btn btn-success btn-sm" type="submit">{{ l.submit }}</button>
<button class="btn btn-primary btn-sm _openFolderForm" type="button">{{ l.annule }}</button>
</div>
</div>
</form>
когда я отправляю форму, я вызываю эту функцию :
$(document).on('submit', 'form#formFolderGed', function(e){
$('#default-modal-content').html(spinner());
e.preventDefault();
var formData = new FormData(this);
$.ajax({
url: '/ged/ajax/dialog',
type: 'POST',
data: formData,
processData: false,
contentType: false,
cache: false,
enctype: 'multipart/form-data',
async: true,
})
.done(function(s) {
var res = jQuery.parseJSON(s);
if(res.status == 'success') {
$('#default-modal-content').html(res.html);
}
});
});
первый вызов ajax в порядке, но когда я отправляю форму… нет ajax, если я это сделаю :
$(document).on('submit', 'form#formFolderGed', function(e){
console.log('ok');
.......
У меня есть «ok» в консоли, но вызов ajax не работает (нет трассировки на панели network / xhr в консоли) …
В чем моя ошибка?????
Спасибо за вашу помощь!