[php/js] Deel van HTML pagina refreshen vanuit popup

Pagina: 1
Acties:

  • NoepZor
  • Registratie: Maart 2003
  • Laatst online: 11:35
Hallo,

Voor een content management systeem heb ik een pagina gebouwd waar men de kleuren van de site kan aanpassen. Op deze pagina staan titels met daarachter een gekleurd vlakje met de huidige kleur. Als men er op klikt wordt er een popup geopend waarin een kleurenselector staat en een submit knop. Als deze popup wordt gesubmit, wordt de kleur in de database gezet en wordt de pagina met alle kleuren gerefreshed door middel van een window.opener.location.reload(). Daarnaast sluit de popup zich dan.

Nu werkt dit opzich wel, de pagina wordt gerefreshed en de nieuwe kleur is zichtbaar, maarrrr... De pagina is te lang om in zijn geheel weer te geven en men moet dus dan steeds weer naar beneden scrollen.

Als oplossing hiervoor had ik een soort AJAX in gedachten, dat ik elk vlakje een id geef en dan vanuit de popup de innerhtml update (de kleurencode). Echter weet ik niet hoe ik dit aan moet pakken. Ik heb al uitgebreid gezocht op Google maar ik vind niets over een gedeelte updaten vanuit een popup. Ik had al geprobeerd met window.opener.getElementById('id').innerHTML.reload() maar dat werkt dus niet :) Heeft iemand bronnen waar ik mij in kan verdiepen of wellicht een uitleg over hetgeen ik wil bereiken?

De wijzen komen uit het Oosten!


  • killercow
  • Registratie: Maart 2000
  • Laatst online: 15:38

killercow

eth0

Ik denk dat je ajax niet als doel moet zien.

Het kan met ajax, maar je initiële probleem is dus vooral dat mensen naar beneden moeten scrollen.

Kun je hier niet netjes een anchor voor gebruiken?

Voor de rest is het werken met id's wel handig, maar kun je de keur natuurlijk gewoon met object.style.backgroundColor= aanpassen.

openkat.nl al gezien?


Verwijderd

Maar bij een normale refresh... blijft de pagina toch op dezelfde plek staan qua vertical scroll zeg maar... ik dacht altijd dat de javascript refresh, identiek werkte als de browser refresh.... of is dat niet zo?

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Is het niet het makkelijkst om in je css 1 class te maken met de kleur, en dan dat die al die elementen die class gebruiken. Nu kun je met javascript-achtige oplossingen die stylesheet waarde aanpassen als ik me niet vergis.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • NoepZor
  • Registratie: Maart 2003
  • Laatst online: 11:35
Het moet iets dynamischer worden dan dat. Er komen 5 standaard templates waarvan de kleuren per site aangepast moeten kunnen worden. Dus aan de voorkant haalt de stylesheet de kleuren uit de DB die horen bij de site. Ook moet de admin erg gebruiksvriendelijk worden, daarom wil ik het visueel doen door gekleurde vlakken weer te geven, die na het veranderen van een kleur direct mee veranderen.

De wijzen komen uit het Oosten!


  • killercow
  • Registratie: Maart 2000
  • Laatst online: 15:38

killercow

eth0

noepzor,

Kijk anders hier even naar;

Tis nog werk in uitvoering, maar misschien heb je er iets aan:

http://innerheight.com/greenery/articles.php?id=1

En de voorbeelden: (NOT SAFE FOR WORK)
http://www.loveart.nl/
http://www.loveart.nl/?color=FF0000
http://www.loveart.nl/?color=00FF00

openkat.nl al gezien?


  • NoepZor
  • Registratie: Maart 2003
  • Laatst online: 11:35
Bedankt voor de tip, maar wat ik reeds heb gebouwd is functioneel. Ik wil echter alleen dat als ik een kleur kies in de popup deze meteen getoond wordt in het overzicht zonder dat de gehele pagina refreshed.
Edit: Het is gelukt door verder te zoeken met die style.backgroundColor. Daarnaast ook verder gezocht naar het opener attribuut waar ik toen een heel stukje vond waar een attribuut werd geupdate. Hij past nu de kleur aan zonder reload :) Dit is hem uiteindelijk geworden:

window.opener.document.getElementById(\"test\").style.backgroundColor='".$_POST['a']."';

[ Voor 46% gewijzigd door NoepZor op 01-11-2006 11:55 ]

De wijzen komen uit het Oosten!

Pagina: 1