Нет описания правки
Нет описания правки
Строка 5: Строка 5:
ev.preventDefault();
ev.preventDefault();
     var pageTitle = formCreatePage.title.value;
     var pageTitle = formCreatePage.title.value;
     var pageContent = "{{Theme|title=" + mw.config.get('wgPageName') + "}}\n==Описание раздела==\nТекст описания раздела\n\n==Идеальный результат==\nТекст идеального результата";
     var pageContent = "{{Theme|parent=" + mw.config.get('wgPageName') + "}}\n==Описание раздела==\nТекст описания раздела\n\n==Идеальный результат==\nТекст идеального результата";
     // Формирование запроса к API для создания страницы
     // Формирование запроса к API для создания страницы
     var params = {
     var params = {

Версия от 23:00, 16 февраля 2024

var formCreatePage = document.querySelector('.createbox');

formCreatePage.addEventListener('submit', function(ev) {
	console.log('>> submit');
	ev.preventDefault();
    var pageTitle = formCreatePage.title.value;
    var pageContent = "{{Theme|parent=" + mw.config.get('wgPageName') + "}}\n==Описание раздела==\nТекст описания раздела\n\n==Идеальный результат==\nТекст идеального результата";
    // Формирование запроса к API для создания страницы
    var params = {
        action: 'edit',
        title: pageTitle,
        text: pageContent,
        token: mw.user.tokens.get('csrfToken'), // Получение токена CSRF из MediaWiki
        format: 'json'
    };

    // Отправка запроса POST к API MediaWiki
    $.post(mw.util.wikiScript('api'), params, function(data) {
    	console.log('>>post', data.edit.result);
        if (data && data.edit && data.edit.result === 'Success') {
            // Если страница успешно создана, перенаправляем пользователя на неё
            // window.location.href = mw.util.getUrl(pageTitle);
            
            // остаемся на текущей странице
            window.location.href = mw.util.getUrl(mw.config.get('wgPageName'));
        } else {
            // Обработка ошибок
            console.error('Не удалось создать страницу: ', data);
        }
    });
});