Utilisateur:Timoth/common.js

Note : après avoir publié vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

  • Firefox / Safari : maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou appuyez sur Ctrl + F5 ou Ctrl + R (⌘ + R sur un Mac).
  • Google Chrome : appuyez sur Ctrl + Maj + R (⌘ + Shift + R sur un Mac).
  • Internet Explorer / Edge : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl + F5.
  • Opera : appuyez sur Ctrl + F5.
<form id="newQuestionForm" onsubmit="return postNewQuestion();">
    <label for="questionTitle">Titre de votre question :</label>
    <input type="text" id="questionTitle" name="questionTitle" required><br>
    <label for="questionBody">Détaillez votre question :</label>
    <textarea id="questionBody" name="questionBody" required></textarea><br>
    <input type="submit" value="Poser la question">
</form>

<script>
function postNewQuestion() {
    var title = document.getElementById('questionTitle').value;
    var body = document.getElementById('questionBody').value;
    var fullContent = `== ${title} ==\n{{Discussion|titre=${title}|question=${body}|réponse=}}\n`;
    postContent(fullContent);
    return false;
}

function postContent(content) {
    var apiUrl = mw.config.get('wgScriptPath') + '/api.php';
    var editToken = mw.user.tokens.get('csrfToken');
    var pageTitle = mw.config.get('wgPageName');

    var params = {
        action: 'edit',
        title: pageTitle,
        appendtext: content,
        token: editToken,
        format: 'json'
    };

    $.post(apiUrl, params, function(data) {
        if (data && data.edit && data.edit.result == 'Success') {
            window.location.reload(); // Reload the page to show the new question
        } else {
            alert('Error: Could not post your question.');
        }
    });
}
</script>