Cześć,
Tak naprawdę to mam problem nie tyle z instalacją samego Jodit co z umieszczeniem go w strukturze projektu by działał tak jak powinien.
Projekt składa się z trzech stron a na ostatniej z nich znajduje się edytor WYSWIG Jodit.
Stroną wyjściową jest panel.php
<script>
function lista(){
var hr = new XMLHttpRequest();
var url = "lista.php";
hr.open("POST", url, true);
hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
hr.onreadystatechange = function() {
if(hr.readyState == 4 && hr.status == 200) {
var return_data = hr.responseText;
document.getElementById("miejsce").innerHTML = return_data;
}
}
hr.send(); // Actually execute the request
document.getElementById("miejsce").innerHTML = "processing...";
}
function edytuj(id){
var id = document.getElementById("btn-"+ id).value;
var vars = "id="+id;
var hr = new XMLHttpRequest();
var url = "modyfikowanie.php";
hr.open("POST", url, true);
hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
hr.onreadystatechange = function() {
if(hr.readyState == 4 && hr.status == 200) {
var return_data = hr.responseText;
document.getElementById("miejsce").innerHTML = return_data;
}
}
hr.send(vars); // Actually execute the request
document.getElementById("miejsce").innerHTML = "processing...";
}
</script>
<script src="jodit/jodit.min.js"></script>
<link rel="stylesheet" href="jodit/jodit.min.css">
<script>
const editor = new Jodit('#editor', {
language: 'ru',
// textIcons: true,
uploader: {
url: 'https://xdsoft.net/jodit/connector/index.php?action=fileUpload'
},
filebrowser: {
ajax: {
url: 'https://xdsoft.net/jodit/connector/index.php'
}
}
});
</script>
<button class='button' onclick='lista()'>lista</button>
</br>
<div id="miejsce"></div>
Na stronie tej wyświetla się przycisk "lista" po naciśnięciu, którego w miejsce div "miejsce" pojawia się lista elementów.
lista.php ma zawartość:
$uzytkownik = "user";
require "connect.php";
$sql = "SELECT * FROM lista where user =".$uzytkownik.";";
$wynik = $conn->query($sql);
$ile_znalezionych = $wynik->num_rows;
echo "znaleziono ".$ile_znalezionych;
for($i=0; $i <$ile_znalezionych; $i++){
$wiersz = $wynik->fetch_assoc();
$id = $wiersz['id'];
echo "<input type='hidden' id='btn-$i' name='numer' value=$i>";
echo "<button class='button' onclick='edytuj($i)'>Edytuj</button>";
echo "</br>";
}
$conn->close();
?>
Czyli wykonuje zapytanie o id poszczególnych elementów listy i dla każdego z elementów tworzony jest przycisk edytuj po naciśnięciu, którego uruchamia się plik modyfikuj.php
Plik ten ma kod:
<?php
/*
$id = $_POST['id'];
require "connect.php";
$sql = "SELECT * FROM lista where id =".$id.";";
$wynik = $conn->query($sql);
$ile_znalezionych = $wynik->num_rows;
for($i=0; $i <$ile_znalezionych; $i++){
$wiersz = $wynik->fetch_assoc();
$description = $wiersz['description'];
}
$conn->close();
*/
$description = "Tu powinien być edytor";
?>
<div id="box">
<div id="editor">
<?php echo $description;?>
</div>
</div>
<style>
#box {
padding: 100px;
margin: 20px;
position: relative;
}
</style>
Jest jakieś zapytanie do bazy (w tym momencie wykomentowane) i pojawia się
I teraz cały problem:
Jeżeli ze strony panel.php przekopiuję do strony modyfikowanie.php przekopiuję fragment kodu:</p>
<script src="jodit/jodit.min.js"></script>
<link rel="stylesheet" href="jodit/jodit.min.css">
<script>
const editor = new Jodit('#editor', {
language: 'ru',
// textIcons: true,
uploader: {
url: 'https://xdsoft.net/jodit/connector/index.php?action=fileUpload'
},
filebrowser: {
ajax: {
url: 'https://xdsoft.net/jodit/connector/index.php'
}
}
});
</script>
a następnie uruchomię samą stronę "modyfikowanie.php" to edytor bardzo ładnie się wyświetla.
Niestety jak dochodzę do niego poprzez wybór oferty z listy (panel/lista/modyfikowanie.php) to wyświetlć się nie chce.
Jak to poprawić?