Door
Sietsko Bos
op 23-04-2019 09:56
gewijzigd op 23-04-2019 15:26
4.574 views
Hoi,
Ik ben hier al eerder mee bezig geweest, maar het is niet gelukt om dat aan de praat te krijgen.
Na verder zoeken op internet kwam ik dit script tegen die zou moeten doen wat ik nodig heb, maar het werkt niet.
Wat ik dus wil is de waarde van het listmenu wijzigen in de database zonder dat de pagina opnieuw geladen wordt.
Wie wil me helpen om dit werkend te krijgen, ik zou er erg mee geholpen zijn.
Ik heb de wijzigingen aangebracht en in de insertdetailed.php heb ik echo $_POST['resp']; toegevoegd.
Maar de kleur veranderd niet. Ik begrijp ook niet hoe de $_POST['resp']; de bgcolor="echo $bgcolor;>" kan aanpassen.
Als je een AJAX-call doet via JavaScript (dus dat $.post() gedoe) is dat een verzoek terug aan de webserver. Dit levert ook een resultaat (response, output) op die opgevangen wordt als je AJAX-call compleet is. Het resultaat daarvan is beschikbaar via de success-functie binnen de AJAX-call. Dit is een zgn. callback-functie, wanneer het verzoek is verwerkt wordt een seintje teruggegeven.
Je kunt dus een PHP-script aanroepen via JavaScript zodat je deze (client side) kunt voeden met (server side) informatie zonder de pagina te verversen. Dat is min of meer het hele idee van het gebruik van deze constructie.
In de callback (in het success blok) is het dus de bedoeling dat je de achtergrondkleur instelt. Dit doe je weer met de hulpfunctie getColor().
Je kunt natuurlijk ook tussentijds deze boel debuggen met alerts, of wellicht nog beter, met console.log() zodat je informatie kunt dumpen in de netwerk (ontwikkel)tab van je browser.
Ja, maar je kunt niet on-the-fly aan de client zijde PHP uitvoeren he :), dit doe je door terug te communiceren via JavaScript, via de hierboven beschreven wijze. Met die "...backgroundColor = ..." riedel zou je dat dus moeten doen, of je gebruikt een class waarin die bgcolors zijn opgenomen.
Begrijp je hoe de communicatie tussen webpagina (client) en het PHP-verwerk-script (server) loopt met behulp van JavaScript?
Het PHP-script geeft informatie terug aan de JavaScript-success-callback-functie. Die informatie, afkomstig uit dat PHP-script, gebruik je vervolgens in de JavaScript om de achtergrondkleur in te stellen.
Ik begrijp wel ongeveer hoe het in zijn werk gaat. Alleen hoe die resp aan de kleur komt is mij vaag omdat er van de tabelcolor array verder geen gebruik meer wordt gemaakt. Dus hoe kan die dan de juiste kleur aanmaken. Ik denk dat dit voor mij te ver gaat qwa programmeren.