stats
loading weblog ...
stop kissing
 

Weblog van Spruit

Goal in life: Create order, think lateral.

Sunday, June 10, 2007

AJAX

Advanced Javascript And XML is er alweer een poosje, dus hoogste tijd om deze techniek in te bouwen in www.TheRiddle.eu. In het contentmanagementgedeelte heb ik eindelijk de mogelijkheid om in een scherm met 1400+ raadsels, 1 raadsel tegelijk te editen zonder de pagina te verversen. Voorheen moest ik om het betreffende raadsel te editen eerst naar een aparte pagina. Werkt erg prettig en snel nu!

Kortweg geeft AJAX je de mogelijkheid om een stuk server side script aan te roepen en resultaten te tonen zonder dat je weg navigeert van de pagina waar je op dat moment bent.

Makkelijk was het echter niet. Misschien komt het doordat mijn javascript vaardigheden wat roestig zijn geworden. Maar misschien ook doordat mijn browsers (Firefox en IE7) nul komma nul feedback geven als je een haakje of een puntkomma bent vergeten. Zoeken en vloeken dus! Met behulp van de tutorial op w3schools is het echter gelukt.

Het volgende stuk client side javascript is waar het allemaal om draait.

var xmlHttp;
var riddleId;

function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}

function stateChanged()
{
var fieldName = "saveTime"+riddleId;
if (xmlHttp.readyState==4)
{
document.getElementById(fieldName).innerHTML=xmlHttp.responseText;
}
if (xmlHttp.readyState==0)
{
document.getElementById(fieldName).innerHTML="The request is not initialized.";
}
}

function ajaxUpdateRiddle(riddleNr,id)
{
var fieldName = "forkids"+riddleNr;
var forKids = document.getElementById(fieldName).checked;

xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Your browser does not support AJAX!");
return;
}
riddleId = id;

var url="jouwserversidescript.asp";
url=url+"?id="+id;
url=url+"&forkids="+forKids;
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}

De functie ajaxUpdateRiddle roep je vervolgens ergens later aan. Bijvoorbeeld, als de gebruiker op de save knop naast een raadsel drukt. O ja, je moet natuurlijk ook nog even jouwserversidescript.asp programmeren :-)

Labels:


comments []

Archives

10/28/2001 - 05/25/2003 (the old Weblog van Spruit)

05/25/2003 - 06/01/2003 06/01/2003 - 06/08/2003 06/08/2003 - 06/15/2003 06/15/2003 - 06/22/2003 06/22/2003 - 06/29/2003 06/29/2003 - 07/06/2003 07/06/2003 - 07/13/2003 07/13/2003 - 07/20/2003 07/20/2003 - 07/27/2003 08/03/2003 - 08/10/2003 08/24/2003 - 08/31/2003 08/31/2003 - 09/07/2003 09/07/2003 - 09/14/2003 09/14/2003 - 09/21/2003 09/28/2003 - 10/05/2003 10/05/2003 - 10/12/2003 10/12/2003 - 10/19/2003 10/19/2003 - 10/26/2003 10/26/2003 - 11/02/2003 11/02/2003 - 11/09/2003 11/09/2003 - 11/16/2003 11/16/2003 - 11/23/2003 11/23/2003 - 11/30/2003 11/30/2003 - 12/07/2003 12/14/2003 - 12/21/2003 12/21/2003 - 12/28/2003 12/28/2003 - 01/04/2004 01/04/2004 - 01/11/2004 01/11/2004 - 01/18/2004 01/18/2004 - 01/25/2004 01/25/2004 - 02/01/2004 02/01/2004 - 02/08/2004 02/08/2004 - 02/15/2004 02/15/2004 - 02/22/2004 02/29/2004 - 03/07/2004 03/07/2004 - 03/14/2004 03/14/2004 - 03/21/2004 03/21/2004 - 03/28/2004 03/28/2004 - 04/04/2004 04/04/2004 - 04/11/2004 04/11/2004 - 04/18/2004 05/02/2004 - 05/09/2004 05/09/2004 - 05/16/2004 05/16/2004 - 05/23/2004 05/23/2004 - 05/30/2004 05/30/2004 - 06/06/2004 06/06/2004 - 06/13/2004 06/13/2004 - 06/20/2004 06/20/2004 - 06/27/2004 06/27/2004 - 07/04/2004 07/04/2004 - 07/11/2004 07/11/2004 - 07/18/2004 07/18/2004 - 07/25/2004 07/25/2004 - 08/01/2004 08/01/2004 - 08/08/2004 08/08/2004 - 08/15/2004 08/15/2004 - 08/22/2004 08/22/2004 - 08/29/2004 08/29/2004 - 09/05/2004 09/12/2004 - 09/19/2004 09/19/2004 - 09/26/2004 09/26/2004 - 10/03/2004 10/10/2004 - 10/17/2004 10/17/2004 - 10/24/2004 10/24/2004 - 10/31/2004 10/31/2004 - 11/07/2004 11/07/2004 - 11/14/2004 11/14/2004 - 11/21/2004 11/21/2004 - 11/28/2004 12/05/2004 - 12/12/2004 12/12/2004 - 12/19/2004 12/19/2004 - 12/26/2004 12/26/2004 - 01/02/2005 01/02/2005 - 01/09/2005 01/09/2005 - 01/16/2005 01/16/2005 - 01/23/2005 01/23/2005 - 01/30/2005 02/06/2005 - 02/13/2005 02/13/2005 - 02/20/2005 02/20/2005 - 02/27/2005 03/13/2005 - 03/20/2005 04/17/2005 - 04/24/2005 05/01/2005 - 05/08/2005 05/15/2005 - 05/22/2005 05/22/2005 - 05/29/2005 05/29/2005 - 06/05/2005 06/05/2005 - 06/12/2005 06/26/2005 - 07/03/2005 07/10/2005 - 07/17/2005 07/24/2005 - 07/31/2005 08/07/2005 - 08/14/2005 08/14/2005 - 08/21/2005 08/21/2005 - 08/28/2005 08/28/2005 - 09/04/2005 09/04/2005 - 09/11/2005 09/11/2005 - 09/18/2005 09/25/2005 - 10/02/2005 10/02/2005 - 10/09/2005 10/09/2005 - 10/16/2005 10/16/2005 - 10/23/2005 10/23/2005 - 10/30/2005 10/30/2005 - 11/06/2005 11/06/2005 - 11/13/2005 11/13/2005 - 11/20/2005 11/20/2005 - 11/27/2005 11/27/2005 - 12/04/2005 12/04/2005 - 12/11/2005 12/11/2005 - 12/18/2005 12/18/2005 - 12/25/2005 12/25/2005 - 01/01/2006 01/08/2006 - 01/15/2006 01/15/2006 - 01/22/2006 01/22/2006 - 01/29/2006 01/29/2006 - 02/05/2006 02/19/2006 - 02/26/2006 02/26/2006 - 03/05/2006 03/05/2006 - 03/12/2006 03/19/2006 - 03/26/2006 04/02/2006 - 04/09/2006 04/09/2006 - 04/16/2006 04/23/2006 - 04/30/2006 04/30/2006 - 05/07/2006 05/07/2006 - 05/14/2006 05/14/2006 - 05/21/2006 05/21/2006 - 05/28/2006 05/28/2006 - 06/04/2006 06/04/2006 - 06/11/2006 06/11/2006 - 06/18/2006 06/25/2006 - 07/02/2006 07/09/2006 - 07/16/2006 07/16/2006 - 07/23/2006 07/23/2006 - 07/30/2006 08/06/2006 - 08/13/2006 08/27/2006 - 09/03/2006 09/03/2006 - 09/10/2006 09/24/2006 - 10/01/2006 10/01/2006 - 10/08/2006 10/15/2006 - 10/22/2006 10/22/2006 - 10/29/2006 11/05/2006 - 11/12/2006 11/19/2006 - 11/26/2006 11/26/2006 - 12/03/2006 12/10/2006 - 12/17/2006 12/17/2006 - 12/24/2006 12/24/2006 - 12/31/2006 01/14/2007 - 01/21/2007 01/21/2007 - 01/28/2007 03/04/2007 - 03/11/2007 04/01/2007 - 04/08/2007 04/08/2007 - 04/15/2007 04/29/2007 - 05/06/2007 05/13/2007 - 05/20/2007 05/20/2007 - 05/27/2007 05/27/2007 - 06/03/2007 06/10/2007 - 06/17/2007 06/17/2007 - 06/24/2007 06/24/2007 - 07/01/2007 07/01/2007 - 07/08/2007 07/08/2007 - 07/15/2007 07/15/2007 - 07/22/2007 07/22/2007 - 07/29/2007 07/29/2007 - 08/05/2007 08/05/2007 - 08/12/2007 08/12/2007 - 08/19/2007 08/19/2007 - 08/26/2007 08/26/2007 - 09/02/2007 09/16/2007 - 09/23/2007 10/07/2007 - 10/14/2007 10/14/2007 - 10/21/2007 10/21/2007 - 10/28/2007 10/28/2007 - 11/04/2007 11/04/2007 - 11/11/2007 11/11/2007 - 11/18/2007 11/18/2007 - 11/25/2007 12/02/2007 - 12/09/2007 12/23/2007 - 12/30/2007 12/30/2007 - 01/06/2008 01/06/2008 - 01/13/2008 01/13/2008 - 01/20/2008 01/27/2008 - 02/03/2008 04/06/2008 - 04/13/2008 04/20/2008 - 04/27/2008 06/08/2008 - 06/15/2008 06/15/2008 - 06/22/2008 06/22/2008 - 06/29/2008 06/29/2008 - 07/06/2008 07/13/2008 - 07/20/2008 07/20/2008 - 07/27/2008 09/14/2008 - 09/21/2008 09/21/2008 - 09/28/2008 09/28/2008 - 10/05/2008 11/09/2008 - 11/16/2008 11/30/2008 - 12/07/2008 12/28/2008 - 01/04/2009 02/22/2009 - 03/01/2009 03/15/2009 - 03/22/2009 03/29/2009 - 04/05/2009 04/05/2009 - 04/12/2009 04/12/2009 - 04/19/2009 05/10/2009 - 05/17/2009 05/17/2009 - 05/24/2009 05/24/2009 - 05/31/2009 06/14/2009 - 06/21/2009 07/12/2009 - 07/19/2009 08/09/2009 - 08/16/2009 10/11/2009 - 10/18/2009 11/01/2009 - 11/08/2009 11/29/2009 - 12/06/2009 12/06/2009 - 12/13/2009 12/13/2009 - 12/20/2009 12/20/2009 - 12/27/2009 01/10/2010 - 01/17/2010 02/07/2010 - 02/14/2010 02/21/2010 - 02/28/2010 03/14/2010 - 03/21/2010
 
 
home