aan alle goede dingen komt een eind, webmasterplein.net 2003 - 2013
wij danken jullie voor al mooie momenten die dankzij dit forum ontstonden - Derk, Rutger en Stef

Enkel de inhoud van één div vernieuwen

Je komt er niet helemaal uit bij het scripten? Übergoede functie geschreven? Alles met betrekking tot scripting, kun je hier terecht.

Enkel de inhoud van één div vernieuwen

Berichtdoor Weeeyaa » 21 nov 2008 20:22

He allemaal,

't is lang geleden, maar ik hoop dat jullie me kunnen helpen.

Ik ben een website aan het maken met een header in flash, waarin zich een slideshow afspeelt.
Ik heb een div "midden" waarin alle inhoud van mijn pagina staat. dmv. include() laat ik een andere inhoud zien (dus index.php?page=home).
Nu zou ik graag, bij het veranderen van de inhoud alleen die div "midden" verversen, want je raadt het misschien al, wanneer ik de hele pagina herlaadt begint mijn slideshow weer vooraan, en dat is nou net niet de bedoeling.
Al zoekende kwam ik erachter dat dit kan met Ajax, maar een echt script kon ik niet vinden.
Wie o wie kan mij hieraan helpen?

't hoeft niets overbodigs te doen, alleen die div te verfrissen. Controle of een pagina wel bestaat e.d. doe ik allemaal met php.

Alvast bedankt!!

Groet,
Thijs
Avatar gebruiker
Weeeyaa
wmpr
 
Berichten: 2796
Geregistreerd: 10 jul 2004 07:39

Re: Enkel de inhoud van één div vernieuwen

Berichtdoor frizzy » 21 nov 2008 20:44

http://prototypejs.org/, gebruik ik altijd
frizzy
wmpr
 
Berichten: 4261
Geregistreerd: 20 sep 2006 16:03
Woonplaats: Boskoop :D

Re: Enkel de inhoud van één div vernieuwen

Berichtdoor libia » 21 nov 2008 22:44

ey weeeyaa! :P

dat moet inderdaad met ajax, heb nu ff geen tijd om iets voor je te maken.. maar kijk eens hier naar dat is volgensmij wel een goede tut ;)
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: Enkel de inhoud van één div vernieuwen

Berichtdoor KillerSponge » 22 nov 2008 11:38

Prototype heeft inderdaad hele mooie ingebouwde functionaliteit voor dit soort dingen, maar is mss een beetje overkill.

Code: Selecteer alles
xmlhttp.open("GET", 'http://example.com/test.html'); 
xmlhttp.onreadystatechange = function() { 
   if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
      document.body.getElementById('midden').innerHTML = xmlhttp.responseText; 
   } 
}
xmlhttp.send(null);


Zou geloof ik ook moeten werken (niet gestest ;) )
Blabla en andere onzin - http://killersponge.nl
Avatar gebruiker
KillerSponge
Beheerder
Beheerder
 
Berichten: 14456
Geregistreerd: 24 aug 2004 13:05

Re: Enkel de inhoud van één div vernieuwen

Berichtdoor libia » 22 nov 2008 13:45

KillerSponge schreef:Prototype heeft inderdaad hele mooie ingebouwde functionaliteit voor dit soort dingen, maar is mss een beetje overkill.

Code: Selecteer alles
xmlhttp.open("GET", 'http://example.com/test.html'); 
xmlhttp.onreadystatechange = function() { 
   if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
      document.body.getElementById('midden').innerHTML = xmlhttp.responseText; 
   } 
}
xmlhttp.send(null);


Zou geloof ik ook moeten werken (niet gestest ;) )

je vergeet nog het maken van de xmlhttp ;)
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: Enkel de inhoud van één div vernieuwen

Berichtdoor KillerSponge » 22 nov 2008 14:12

:oops:
Blabla en andere onzin - http://killersponge.nl
Avatar gebruiker
KillerSponge
Beheerder
Beheerder
 
Berichten: 14456
Geregistreerd: 24 aug 2004 13:05

Re: Enkel de inhoud van één div vernieuwen

Berichtdoor Weeeyaa » 23 nov 2008 16:50

He jongens,

Bedankt voor de reacties!
Hoe moet 't script van Killersponge dan wel zijn?
en waar moet ik dat precies neerzetten :oops:

Bedankt!

Thijs
Avatar gebruiker
Weeeyaa
wmpr
 
Berichten: 2796
Geregistreerd: 10 jul 2004 07:39

Re: Enkel de inhoud van één div vernieuwen

Berichtdoor Weeeyaa » 04 jan 2009 12:40

Hoi,

Is er iemand die me nog ff kan helpen met 't script van Killersponge? :P
ik heb wele.e.a. gevonden op dynamicdrive.com maar daar kan ik die link weer niet behouden als index.php?page=home.

Bedankt!!!

Thijs
Avatar gebruiker
Weeeyaa
wmpr
 
Berichten: 2796
Geregistreerd: 10 jul 2004 07:39

Re: Enkel de inhoud van één div vernieuwen

Berichtdoor Derk » 04 jan 2009 20:25

Heb er geen verstand van maar weet wel dat dit in javascript hoort. Voor een admin dus.
Afbeelding
Avatar gebruiker
Derk
Beheerder
Beheerder
 
Berichten: 12634
Geregistreerd: 27 nov 2003 19:50
Woonplaats: Houten

Re: Enkel de inhoud van één div vernieuwen

Berichtdoor Derk » 04 jan 2009 20:25

oh en hier hebben we niks aan:
libia schreef:je vergeet nog het maken van de xmlhttp ;)

Geef dan de oplossing als je het zo goed weet.
KillerSponge schreef: :oops:

Geld hetzelfde voor.
Maar luiheid steekt aan he :P
Afbeelding
Avatar gebruiker
Derk
Beheerder
Beheerder
 
Berichten: 12634
Geregistreerd: 27 nov 2003 19:50
Woonplaats: Houten

Re: Enkel de inhoud van één div vernieuwen

Berichtdoor KillerSponge » 04 jan 2009 23:07

Code: Selecteer alles
xmlhttp = new XMLHttpRequest();


Zo dan... :P
Blabla en andere onzin - http://killersponge.nl
Avatar gebruiker
KillerSponge
Beheerder
Beheerder
 
Berichten: 14456
Geregistreerd: 24 aug 2004 13:05

Re: Enkel de inhoud van één div vernieuwen

Berichtdoor libia » 05 jan 2009 16:58

KillerSponge schreef:
Code: Selecteer alles
xmlhttp = new XMLHttpRequest();


Zo dan... :P

werkt niet in alle browsers ;)

Code: Selecteer alles
<script type="text/javascript">
function ajaxFunction()
{
var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
  }
</script>


bij de derde link als je in google naar ajax tut zoekt ;)
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: Enkel de inhoud van één div vernieuwen

Berichtdoor KillerSponge » 05 jan 2009 20:05

Zoveel regels extra, alleen maar omdat IE het weer eens niet kan... *hekel haat enzovoort :evil:
Blabla en andere onzin - http://killersponge.nl
Avatar gebruiker
KillerSponge
Beheerder
Beheerder
 
Berichten: 14456
Geregistreerd: 24 aug 2004 13:05

Re: Enkel de inhoud van één div vernieuwen

Berichtdoor Weeeyaa » 06 jan 2009 17:22

Weet dat ik jullie eeuwig dankbaar ben!
Ik ga het proberen!

Groetjes,
Thijs
Avatar gebruiker
Weeeyaa
wmpr
 
Berichten: 2796
Geregistreerd: 10 jul 2004 07:39

Re: Enkel de inhoud van één div vernieuwen

Berichtdoor libia » 06 jan 2009 19:49

Weeeyaa schreef:Weet dat ik jullie eeuwig dankbaar ben!

natuurlijk weet ik dat Thijs :D
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: Enkel de inhoud van één div vernieuwen

Berichtdoor Weeeyaa » 06 jan 2009 20:39

Nog een keer dan (hoop ik :P)

ik heb nu dit:
Code: Selecteer alles
function ajaxFunction()
{
var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
 
xmlhttp.open("GET", 'index.php?page='); 
xmlhttp.onreadystatechange = function() { 
   if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
      document.body.getElementById('middle').innerHTML = xmlhttp.responseText; 
   } 
}
xmlhttp.send(null);
}


Ik heb die div inmiddels "middle" genoemd, de links in m'n menu zijn nog steeds "index.php?page=home"
Moet ik die functie ook niet op de een of andere manier aanroepen ipv alleen in de head te zetten?

Thijs
Avatar gebruiker
Weeeyaa
wmpr
 
Berichten: 2796
Geregistreerd: 10 jul 2004 07:39

Re: Enkel de inhoud van één div vernieuwen

Berichtdoor libia » 06 jan 2009 20:54

oke, ik heb een kleine aanpassing gemaakt:
Code: Selecteer alles
function ajaxFunction(page)
{
   var xmlHttp;
   try
   {
      // Firefox, Opera 8.0+, Safari
      xmlHttp = new XMLHttpRequest();
   }
   catch (e)
   {
      // Internet Explorer
      try
      {
         xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
      }
      catch (e)
      {
         try
         {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         catch (e)
         {
            alert("Your browser does not support AJAX!");
            return false;
         }
      }
   }
   
   xmlhttp.open("GET", page);
   xmlhttp.onreadystatechange = function()
   {
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
         document.body.getElementById('middle').innerHTML = xmlhttp.responseText;
      }
   }
   xmlhttp.send(null);
}

als je nu een link hebt:

Code: Selecteer alles
<a href="javascript:void(0);" onclick="ajaxFunction('pagina.php')">Klik</a>


dan zet hij de inhoud van pagina.php in het element met id 'middle' ;)
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: Enkel de inhoud van één div vernieuwen

Berichtdoor Weeeyaa » 06 jan 2009 21:07

Maar nu heb ik de link niet meer als index.php?page=home, en dat is wel de bedoeling omdat van dat home meer afhankelijk is dan alleen de pagina die hij moet includen.

Dus ik wil de link graag zo houden en toch alleen de div middle veranderen.

Ik hoop dat dit kan!

Thijs
Avatar gebruiker
Weeeyaa
wmpr
 
Berichten: 2796
Geregistreerd: 10 jul 2004 07:39

Re: Enkel de inhoud van één div vernieuwen

Berichtdoor libia » 06 jan 2009 23:27

Weeeyaa schreef:Maar nu heb ik de link niet meer als index.php?page=home, en dat is wel de bedoeling omdat van dat home meer afhankelijk is dan alleen de pagina die hij moet includen.

Dus ik wil de link graag zo houden en toch alleen de div middle veranderen.

Ik hoop dat dit kan!

Thijs

Daar weet ik een oplossing voor, zorgen dat index.php alleen de imhoud van middle teruggeeft ;)
Gaat dit niet, dan kun je een extraget variabele gebruiken die aangeeft dat het met ajax wordt opgehaalt of je moet index2.php oid gebruiken voor ajax requests ;)
Avatar gebruiker
libia
wmpr
 
Berichten: 4149
Geregistreerd: 23 okt 2005 14:14
Woonplaats: Alphe!!

Re: Enkel de inhoud van één div vernieuwen

Berichtdoor Weeeyaa » 23 jan 2009 18:52

Hey!

Ik heb t anders opgelost, ik hem de plaatjes in de header in een javascript gezet welke random begint met ze af te spelen :)

Bedankt voor de hulp!

Groetjes,
Thijs
Avatar gebruiker
Weeeyaa
wmpr
 
Berichten: 2796
Geregistreerd: 10 jul 2004 07:39


Keer terug naar PHP, ASP, SQL



cron