I tried to modify the behaviour of the Save button in my DokuWiki ( see my post on their forum without answer yet ).
I want to call a specific file.php when the user hits the Save Button , ie every time there is an edit in the wiki. The PHP file recalculates all the connections in the Wiki and creates a new network diagram of the links in-between pages using Rscript.
I think the best way to do that is to use Ajax when the button is clicked ( see this answer about how to do that). This is the original jQuery code of the button in DokuWiki:
// reset change memory var on submit
jQuery('#edbtn__save').on('click',
function() {
window.onbeforeunload = '';
textChanged = false;
}
);
I would like to add something like:
jQuery('#edbtn__save').on('click',
function() {
window.onbeforeunload = '';
textChanged = false;
$.ajax({
url: "./data/forms/file.php",
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
}
);
But this is not working yet (I tried different URLs too, but it is not clear what to use as I run DokuWiki on my localhost for the moment). I never studied jQuery nor Ajax, so this is new to me. I don't really understand how it works, but it might just need a simple fix.
This is what the file.php looks like:
<?php
include("./data/forms/myFunctions.php");
matrixer();
?>
PS: the documentation I found about the function on() and the DokuWiki source code .
I found a very useful link this morning. from this I was able to work it out.
So the proper code is:
jQuery('#edbtn__save').on('click',
function() {
window.onbeforeunload = '';
textChanged = false;
jQuery.ajax({
type: 'POST',
url: '/~User/dokuwiki/data/forms/file.php',
success: function(data) {
alert(data);
$("p").text(data);
}
});
}
It works ! Make sure the file is accessible via browser to avoid Error 403 (Forbidden)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.