javascript voor de php code?
Eerder in dit topic heb ik ook al gevraagd wat je probeerde te bereiken. Je zou mijn vraag nog beantwoorden, maar helaas is dat antwoord er niet gekomen.
Toevoeging op 28/09/2023 13:05:41:
Ozzie PHP op 28/09/2023 12:45:17:
Ik ben toch erg benieuwd wat je precies probeert te bereiken? Waarom wil je via javascript info uit een bestaande pagina doorlopen? Ik heb het dus niet over code nu, maar gewoon Jip-en-Janneke-taal. Wat voor functionaliteit probeer je te maken?
Eerder in dit topic heb ik ook al gevraagd wat je probeerde te bereiken. Je zou mijn vraag nog beantwoorden, maar helaas is dat antwoord er niet gekomen.
Eerder in dit topic heb ik ook al gevraagd wat je probeerde te bereiken. Je zou mijn vraag nog beantwoorden, maar helaas is dat antwoord er niet gekomen.
Ik ben bezig met een html builder waarbij ik dus een pagina zelf kan opbouwen (heb daar al een topic eerder over geopend). Werkt tot nu toe goed. Ik wil echter de manier van opslaan gaan aanpassen. daarom dit topic/.
Bij het bouwen van de pagina kan gekozen worden uit diverse elementen. Elk element heeft een unieke id. Per element van een pagina wil ik de inhoud opslaan in een database. Punt is dat de pagina dus flexibel is. Dit betekend dat er soms 5 elementen onder elkaar kunnen staan en soms wellicht wel 29 of meer. elementen kunnen ook weer worden verwijderd of in een andere volgorde komen te staan. met andere woorden de pagina veranderd steeds. Hierdoor zijn ook de id's ook elke keer weer anders. In onderstaande voorbeeld wordt het duidelijk. ik wil dus zowel de tekst als de gehele styling opslaan.
Code (php)
1
2
3
4
2
3
4
<h1 style="align: center;" id="titel1">Dit is titel 1</h1>
<h2 style="align: left;" id ="titel19">Dit is titel 19</h2>
<p style="align: right;" id ="titel5">Dit is titel 5</p>
<h2 style="align: left;" id ="titel19">Dit is titel 19</h2>
<p style="align: right;" id ="titel5">Dit is titel 5</p>
Toevoeging op 28/09/2023 13:07:37:
maar als er een andere manier is dan hoor ik dit natuurlijk graag.
Gewijzigd op 28/09/2023 13:07:13 door Paul Weiss
Hangt een beetje af van wat je bedoelt met een "html-builder". Wat bedoel je daar precies mee? Hoe werkt het? Ik ben niet benieuwd naar de code, maar naar hoe dit voor een gebruiker werkt. Als ik je goed begrijp, dan maak je iets waarmee iemand html kan bouwen? Wat kan hij dan bouwen, en op welke manier?
Ozzie PHP op 28/09/2023 15:35:24:
>> maar als er een andere manier is dan hoor ik dit natuurlijk graag.
Hangt een beetje af van wat je bedoelt met een "html-builder". Wat bedoel je daar precies mee? Hoe werkt het? Ik ben niet benieuwd naar de code, maar naar hoe dit voor een gebruiker werkt. Als ik je goed begrijp, dan maak je iets waarmee iemand html kan bouwen? Wat kan hij dan bouwen, en op welke manier?
Hangt een beetje af van wat je bedoelt met een "html-builder". Wat bedoel je daar precies mee? Hoe werkt het? Ik ben niet benieuwd naar de code, maar naar hoe dit voor een gebruiker werkt. Als ik je goed begrijp, dan maak je iets waarmee iemand html kan bouwen? Wat kan hij dan bouwen, en op welke manier?
Eenvoudig gezegd. de gebruiker kan kiezen uit meerdere soorten html blokken inc. css opmaak. zo is er een type header, hero elementen, usp elementen, contentblokken etc..
Dit gedeelte is technisch af zeg maar. dit gedeelte wordt opgeslagen in een apart bestand dat dus door de gebruiker kan worden aangepast ook.
Als 2e kan de gebruiker zowel afbeeldingen, de tekst, opmaak tekst en links etc.. zelf instellen. dit gedeelte dient dus te worden opgeslagen in de database.
Daarom dit topic. hoop dat het nu helder is.
Oké. Als ik je goed begrijp een soort drag & drop systeem dus.
Ozzie PHP op 28/09/2023 21:20:44:
Oké. Als ik je goed begrijp een soort drag & drop systeem dus.
soort van je. niet dat ik het sleep. het element wordt gekozen via een form en wordt vervolgens aan een bestand toegevoegd. elementen kunnen komen op die wijze onder elkaar te staan. je kunt vervolgens dan ook elementen met elkaar verwisselen of verwijderen. daarbij wordt de inhoud van het bestand ingelezen en nadateen element is verwijderd of verwisseld wordt de inhoud opnieuw weggechreven naar het bestand. blijft dus over de content zoals tekst etc.. dat wil ik dus naar de database wegschrijven.
Het "wegschrijven naar het bestand". Bedoel je dan dat je letterlijk complete losse pagina's opslaat? Werk je met een database?
Ozzie PHP op 29/09/2023 13:28:03:
Het "wegschrijven naar het bestand". Bedoel je dan dat je letterlijk complete losse pagina's opslaat? Werk je met een database?
de pagina is als het ware een soort template die echter steeds gewijzigd kan worden. in de pagina worden dan placeholders gebruikt voor het vullen van de content zoals tekst, opmaak tekst (styling) afbeeldingen etc.. Deze pagina wordt inderdaad opgeslagen in een bestand. . echter de content zoals tekst, opmaak tekst en afbeeldingen etc.. moeten worden opgeslagen in een database.
Interessant. Misschien is het een idee om naar Smarty te kijken. Dat is een templateparser waaraan je een logica kan koppelen.
- Ariën - op 28/09/2023 11:08:47:
Een voorbeeldje met de jQuery-library, wat ik vaak gebruik.
titelIds kan je vervolgens verpakken tot een 'pakketje' die je aan AJAX kan voeren:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<h1 id="titel1">Dit is titel 1</h1>
<h2 id="titel2">Dit is titel 2</h2>
<p id="titel3">Dit is titel 3</p>
<div id="geenTitel">Dit is geen titel</div>
<script>
$(document).ready(function() {
// Maak een lege array voor de gevonden ID's
var titelIds = [];
// Zoek alle ID's die beginnen met "titel"
$('[id^="titel"]').each(function() {
// Voeg het ID toe aan de array
titelIds.push(this.id);
});
// De titelIds-array bevat alle overeenkomende ID's, zet deze in een debug console.log
console.log(titelIds);
});
</script>
<h2 id="titel2">Dit is titel 2</h2>
<p id="titel3">Dit is titel 3</p>
<div id="geenTitel">Dit is geen titel</div>
<script>
$(document).ready(function() {
// Maak een lege array voor de gevonden ID's
var titelIds = [];
// Zoek alle ID's die beginnen met "titel"
$('[id^="titel"]').each(function() {
// Voeg het ID toe aan de array
titelIds.push(this.id);
});
// De titelIds-array bevat alle overeenkomende ID's, zet deze in een debug console.log
console.log(titelIds);
});
</script>
titelIds kan je vervolgens verpakken tot een 'pakketje' die je aan AJAX kan voeren:
Weet je hoe ik een ajax functie kan inbouwen in bovenstaande functie? Ik heb nu de onderstaande code waarbij ik ajax dus heb opgenomen. Maar dan werkt het hele scrript niet meer. als ik de ajax functie eruit mik werkt deze wel. Kom er niet aan uit!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<html>
<h1 style="text-align: left" id="titel1"> titel 1</h1>
<h1 style="text-align: right" id="titel2">titel 2</h1>
<button onclick="getinfo()">
Get CSS
</button>
</html>
<script>
function getinfo(element) {
alert("geklikt");
$(document).ready(function() {
// Maak een lege array voor de gevonden ID's
var titelIds = [];
// Zoek alle ID's die beginnen met "titel"
$('[id^="titel"]').each(function() {
// Voeg het ID toe aan de array
titelIds.push(this.id);
// alert(this.id);
var mijnid = this.id;
// gevonden id toewijzen aan een variable en vervolgens de html en inhoud en styling opslaan in aparte variable
var element_id = document.getElementById(mijnid);
$element_inhoud = element_id.innerHTML;
$element_style = $(element_id).attr('style');
alert($element_inhoud);
alert($element_style);
.ajax({
alert("hier ajax functie");
url: 'save.php',
type: 'post',
data: {inhoud:$element_inhoud,style:$element_style},
datatype: 'html',
});
});
console.log(titelIds);
});
};
</script>
<html>
<h1 style="text-align: left" id="titel1"> titel 1</h1>
<h1 style="text-align: right" id="titel2">titel 2</h1>
<button onclick="getinfo()">
Get CSS
</button>
</html>
<script>
function getinfo(element) {
alert("geklikt");
$(document).ready(function() {
// Maak een lege array voor de gevonden ID's
var titelIds = [];
// Zoek alle ID's die beginnen met "titel"
$('[id^="titel"]').each(function() {
// Voeg het ID toe aan de array
titelIds.push(this.id);
// alert(this.id);
var mijnid = this.id;
// gevonden id toewijzen aan een variable en vervolgens de html en inhoud en styling opslaan in aparte variable
var element_id = document.getElementById(mijnid);
$element_inhoud = element_id.innerHTML;
$element_style = $(element_id).attr('style');
alert($element_inhoud);
alert($element_style);
.ajax({
alert("hier ajax functie");
url: 'save.php',
type: 'post',
data: {inhoud:$element_inhoud,style:$element_style},
datatype: 'html',
});
});
console.log(titelIds);
});
};
</script>
Toevoeging op 03/10/2023 16:51:45:
zie het al. kan geen alert functie plaatsen in een ajax natuurlijk. Maar toch krijg ik de ajax functie niet aan de praat.
Gewijzigd op 03/10/2023 16:37:32 door Paul Weiss
Je kan wel een alert in het success: event van AJAX plaatsen. Check de docs. :-)
Hoe kan ik erachter komen wat de waardes zijn die in save.php binnen zouden moeten komen?
Met ajax wordt save.php natuurlijk op de achtergrond verwerkt.
Gewijzigd op 03/10/2023 17:30:59 door - Ariën -
ah oke. heb gekeken in console. zal eens kijken. wellicht ligt het probleem dat de for functie binnenin de ajax functie moet komen te staan
Dan moet je jouw data eerst in een for() samenstellen, en dat aan AJAX voeren.
Gewijzigd op 03/10/2023 19:13:55 door Paul Weiss