Здравствуйте, нужен следующий функционал : при отсутствии результатов в автодополнении выпадает виджет: "Создать страницу[name]", при нажатии на которую айаксом создаётся страница c тайтлом name. В документации написано, что за активацию элемента виджета отвечает событие select(event, ui) вот:
source: function(request, response) {
$.ajax({
// Определенный модулем путь запроса, я пишу модуль на друпал и запись ниже обозначает корневой адрес сайта + страница которую я создал.
url: Drupal.settings.basePath + "arguments/autocomplete",
type: 'post',
data: {
// Текст из поля ввода.
input: request.term,
// Ограничение количества для запроса.
maxItems: 12
},
success: function(data) {
var nowData = data;
nowData = [];
if(!data.length){
var vvod = request.term;
nowData = [{title: '' + vvod, countryCode: vvod}]
response($.map(nowData, function(item) {
return {
value: item.countryCode,
label: '<div class ="noPage"> Создать новую страницу: "' + item.title + '" </div>'
};
}));
}
}
});
},
// Количество символов в поле ввода, с которого запускается запрос.
minLength: 1,
focus: function(event, ui) {
$input.val(ui.item.value.title);
return false;
},
// Выбрали элемент
select: function(event, ui) {
$.ajax({
type:'POST',
url: Drupal.settings.basePath + "fields/newMaterial",
dataType:'json',
data:"title="+JSON.stringify(ui.item ? ui.item.value.title : ''),
success: function(data){
console.log('ЗаебокВсёПолучилось');
}
});
return false;
}
Подхватываю данные PHP на другой странице:
function newMaterial(){
if($_POST['title']) {
$param = json_decode($_POST['title']);
$row = get_text($param);
$title = json_encode($row);
//Этой функцией создаётся новый экземпляр класса/страница в друпале. На неё можно не обращать внимания.
function create_page($title){
$node = new stdClass();
$node->type = 'page';
node_object_prepare($node);
$node->title = $title;
$node->language = 'und';
global $user;
$newnode->uid = $user->uid;
node_save($node);
}
exit();
}
}
При нажатии на виджет ничего не происходит - не ошибки, ни создания страницы. Где я ошибся?