Ik zou graag van onderstaande php script een javascript script willen maken. Heb weinig kennis van javascript. vandaar even hier de vraag. de reden dat ik deze in javascript wil hebben is dat ik vervolgens een ajax loop wil creeren.
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.
moet ik dan niet eerst de inhoud van elk element eerst via javascript opvangen? nu stuur ik alleen de id's door? of moet ik eerst kijken hoe dit binnenkomt?
[size=xsmall]Toevoeging op 28/09/2023 13:05:41:[/size]
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.
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.
<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>
[size=xsmall]Toevoeging op 28/09/2023 13:07:37:[/size]
maar als er een andere manier is dan hoor ik dit natuurlijk graag.
>> 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?
>> 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?
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.
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?
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.
Een voorbeeldje met de jQuery-library, wat ik vaak gebruik.
<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>
titelIds kan je vervolgens verpakken tot een 'pakketje' die je aan AJAX kan voeren:
var dataToSend = { titelIds: titelIds };
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!
<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>
[size=xsmall]Toevoeging op 03/10/2023 16:51:45:[/size]
zie het al. kan geen alert functie plaatsen in een ajax natuurlijk. Maar toch krijg ik de ajax functie niet aan de praat.