Det är ett vanligt formulär med AJAX-funktionalitet.
Enkelt förklarat kan man säga så att när du tryckt in några bokstäver så görs ett anrop till servern i bakgrunden via Javascript. Resultatet körs sedan ut i rutan nedanför. Mycket vanligt med sån här funktionalitet och det är ganska smidigt då man slipper ladda om hela sidan.
Kör du med web developer toolkit så kan du enkelt se hur anropen till servern skickas så fort man börjar skriva något. Vid såna här funktioner är det dock viktigt att man inte anropar servern för snabbt (t ex direkt när man trycker in en bokstav) och att man cachar resultatet så alla anrop inte innebär att man belastar databasen.
Edit:
Så här ser AJAX-anropet ut när man skrivit in "sjö":
http://reseplanerare.sl.se/bin/ajax-...j%F6?&js=true&
Och svaret:
SLs.sls={"suggestions":[{"value":"Sandhamn (Sjögången) (Nynäshamn)","id":"A=1@O=Sandhamn (Sjögången) (Nynäshamn)@X=17935538@Y=58884711@U=74@L=301108520 @B=1@p=1308552285@","type":"1","typeStr":"[Stn/Hlp]","xcoord":"17935538","ycoord":"58884711","state": "id","prodClass":"8","weight":"1282"},{"value":"To rsby Sjöväg (Värmdö)","id":"A=1@O=Torsby Sjöväg (Värmdö)@X=18488833@Y=59335304@U=74@L=300104558@B= 1@p=1308552285@","type":"1","typeStr":"[Stn/Hlp]","xcoord":"18488833","ycoord":"59335304","state": "id","prodClass":"8","weight":"383"},{"value":"SJÖ B","id":"A=1@O=SJÖB@X=17999442@Y=59427129@U=74@L=3 00105509@B=1@p=1308552285@","type":"1","typeStr":" [Stn/Hlp]","xcoord":"17999442","ycoord":"59427129","state": "id","prodClass":"8","weight":"1282"},{"value":"Sj öberg (Sollentuna)","id":"A=1@O=Sjöberg (Sollentuna)@X=17999442@Y=59427129@U=74@L=30010550 9@B=1@p=1308552285@","type":"1","typeStr":"[Stn/Hlp]","xcoord":"17999442","ycoord":"59427129","state": "id","prodClass":"8","weight":"1282"},{"value":"Sj öbergs centrum (Sollentuna)","id":"A=1@O=Sjöbergs centrum (Sollentuna)@X=17998615@Y=59430734@U=74@L=30010550 5@B=1@p=1308552285@","type":"1","typeStr":"[Stn/Hlp]","xcoord":"17998615","ycoord":"59430734","state": "id","prodClass":"8","weight":"1282"},{"value":"Sj ögången (Nynäshamn)","id":"A=1@O=Sjögången (Nynäshamn)@X=17935538@Y=58884711@U=74@L=300108520 @B=1@p=1308552285@","type":"1","typeStr":"[Stn/Hlp]","xcoord":"17935538","ycoord":"58884711","state": "id","prodClass":"8","weight":"1282"},{"value":"Sj öhistoriska museet (Stockholm)","id":"A=1@O=Sjöhistoriska museet (Stockholm)@X=18115232@Y=59333497@U=74@L=300101413 @B=1@p=1308552285@","type":"1","typeStr":"[Stn/Hlp]","xcoord":"18115232","ycoord":"59333497","state": "id","prodClass":"8","weight":"1282"},{"value":"Sj ömansplan (Södertälje)","id":"A=1@O=Sjömansplan (Södertälje)@X=17645753@Y=59181589@U=74@L=30010756 6@B=1@p=1308552285@","type":"1","typeStr":"[Stn/Hlp]","xcoord":"17645753","ycoord":"59181589","state": "id","prodClass":"8","weight":"1282"},{"value":"SJ ÖN","id":"A=1@O=SJÖN@X=17935538@Y=58884711@U=74@L= 300108520@B=1@p=1308552285@","type":"1","typeStr": "[Stn/Hlp]","xcoord":"17935538","ycoord":"58884711","state": "id","prodClass":"8","weight":"1282"},{"value":"Sj östugan (Nacka)","id":"A=1@O=Sjöstugan (Nacka)@X=18266431@Y=59307842@U=74@L=300104117@B=1 @p=1308552285@","type":"1","typeStr":"[Stn/Hlp]","xcoord":"18266431","ycoord":"59307842","state": "id","prodClass":"8","weight":"1282"}]};SLs.showSuggestion();
Ser ut som JSON som sedan Javascriptet renderar ut till HTML.