Bruk av prototype.js
Eksempel 1
Et enkelt eksempel på henting av tekst.
Hent det hit
Javascriptkoden er slik
function getIt1(address,targetNodeId){ new Ajax.Request(address, {method:'get', onSuccess:function(transport){ var T=transport.responseText; $(targetNodeId).update(T); }, onFailure:function(){$(targetNodeId).update("Could not access content")} }); }
og bruken er slik:
<p class="clickable" onclick="getIt1('frej1.txt','case1')">Hent det hit</p>
Vi kunne også ha gjort det slik, altså uten en egen javascriptfil:
<p class="clickable" onclick="javascript:new Ajax.Updater('case11','frej1.txt', {method:'get'});"> Test dette </p>
Test dette
Eksempel 2
Et enkelt eksempel på henting av headere.
Hent headers
Javascriptkoden er slik
function getIt2(address,targetNodeId){ new Ajax.Request(address, {method:'get', onSuccess:function(transport){ var T=transport.getAllHeaders(); $(targetNodeId).update('<pre>'+T+'</pre>'); }, onFailure:function(){$(targetNodeId).update("Could not access content")} }); }
og bruken er slik:
<p class="clickable" onclick="getIt2('frej1.txt','case2')">Hent headers</p>
Eksempel 3
Et enkelt eksempel på ekspand/unexpand.
Javascriptkoden er slik
function doExpand(address,targetNodeId){ new Ajax.Request(address, {method:'post', onSuccess:function(transport){ var T=transport.responseText; T='<span class="wxtexpand" '+'onclick="doUnExpand(\''+address+'\',\''+ targetNodeId+'\')"><span class="on"> </span></span>'+T; $(targetNodeId).update(T); }, onFailure:function(){$(targetNodeId).update("Could not access content")} }); } function doUnExpand(address,targetNodeId){ T='<span class="wxtexpand" '+'onclick="doExpand(\''+address+'\',\''+ targetNodeId+'\');"><span class="off"> </span></span>'; $(targetNodeId).update(T); }
og bruken er slik:
<div id="case3"> <span class="expand" onclick="doExpand('frej1.txt','case3');"> <span class="on">+</span> </span> </div>
Eksempel 4
En nyttig og svært enkel anvendelse er "visittkort". Vi ønsker kanskje å skjule epostadressen vår eller vi ønsker ikke å overbelaste siden med kontaktinformasjon. En enkel måte å gjøre dette på er å hente kontaktinformasjon ved et AJAX oppslag:
Knappen er ganske enkelt skrevet slik:
<div id="thecard"> <input type="button" value="Kontakt" onclick="javascript:new Ajax.Updater('thecard','mycard.txt', {method:'get'});"/> </div>
og det vi henter inn ser slik ut:
<div style="font-family:geneva;font-size:11px;border:solid;border-width:thin; width:235px;padding:4px;background-color:#F7F7F7"> <img src="http://www.ia.hiof.no/~borres/self/bs1.png" style="float:left;margin-right:4px" alt="bs"/> Me <br/>workplace <br/>job: (47) 55 55 55 <br/>mob: (47) 55 55 55 <br/>my.mail@somewhere.no </div>
Det er selvsagt ikke noe i veien for at vi kan bruke et Pythonskript som URL i stedet for 'mycard.txt' slik at vi eventuelt kan sende med parametere og få en tilpasset tilbaemelding. F.eks. slik:
new Ajax.Updater('thecard','host/cgi/mycard.py',{method:'get',parameters:'lang=en'});
Det er en slik framgangsmåte som er brukt på visittkortene nederst på sidene i dette materialet.