„2007:Ajax függvények” változatai közötti eltérés
(Ajax függvények) |
(Ajax függvények) |
||
259. sor: | 259. sor: | ||
Az egyik módja annak, hogy a prototype.js könyvtár új funkciókat biztosít számunkra az, hogy kiterjeszti a már meglévő JavaScript osztályokat. | Az egyik módja annak, hogy a prototype.js könyvtár új funkciókat biztosít számunkra az, hogy kiterjeszti a már meglévő JavaScript osztályokat. | ||
+ | |||
+ | ===Kiterjesztések az Object osztályhoz=== | ||
+ | <TABLE WIDTH=624 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=4 CELLSPACING=0> | ||
+ | |||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=133> | ||
+ | <B>Metódus</B> | ||
+ | </TD> | ||
+ | <TD WIDTH=52> | ||
+ | <B>Típus</B> | ||
+ | </TD> | ||
+ | |||
+ | <TD WIDTH=137> | ||
+ | <B>Paraméter</B> | ||
+ | </TD> | ||
+ | <TD WIDTH=268> | ||
+ | <B>Leírás</B> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | |||
+ | <TD WIDTH=133> | ||
+ | <P CLASS="western"><B>extend(destination,</B></P> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm"><B>source)</B></P> | ||
+ | <P CLASS="western"><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | <TD WIDTH=52> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm"><FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">Statikus</FONT></P> | ||
+ | |||
+ | <P CLASS="western"><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | <TD WIDTH=137> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm"><FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">destination:</FONT></P> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm"><FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">bármilyen</FONT></P> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm"><FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">objektum, | ||
+ | source:</FONT></P> | ||
+ | |||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm"><FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">bármilyen | ||
+ | objektum</FONT></P> | ||
+ | <P CLASS="western"><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | <TD WIDTH=268> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm"><FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">Az | ||
+ | örököltetést valósítja meg oly módon,</FONT></P> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm"><FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">hogy | ||
+ | átmásolja a source összes</FONT></P> | ||
+ | |||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm"><FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">tulajdonságát | ||
+ | és metódusát a destination</FONT></P> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm"><FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">objektumba.</FONT></P> | ||
+ | <P CLASS="western"><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=133> | ||
+ | |||
+ | <P CLASS="western"><B>inspect(targetObj)</B></P> | ||
+ | <P CLASS="western"> | ||
+ | </P> | ||
+ | </TD> | ||
+ | <TD WIDTH=52> | ||
+ | <P CLASS="western" STYLE="margin-left: -0.02cm; margin-right: -0.07cm"> | ||
+ | Statikus</P> | ||
+ | </TD> | ||
+ | |||
+ | <TD WIDTH=137> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm"><FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">targetObj:</FONT></P> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm"><FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">bármilyen | ||
+ | objektum</FONT></P> | ||
+ | <P CLASS="western"><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | <TD WIDTH=268> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm"><FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">Szöveges, | ||
+ | könnyen olvasható formában</FONT></P> | ||
+ | |||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm"><FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">reprezentálja | ||
+ | a targetObj objektumot. Ez</FONT></P> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm"><FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">adja | ||
+ | meg az alapértelmezett visszatérési</FONT></P> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm"><FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">értékét | ||
+ | a toString függvénynek, ha az adott</FONT></P> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm"><FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">objektumban | ||
+ | nincs definiálva az inspect</FONT></P> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm"><FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">példánymetódus.</FONT></P> | ||
+ | <P CLASS="western"><BR> | ||
+ | |||
+ | </P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | </TABLE> | ||
+ | |||
+ | |||
+ | ===Kiterjesztések az Number osztályhoz === | ||
+ | |||
+ | <TABLE WIDTH=636 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=7 CELLSPACING=0> | ||
+ | |||
+ | <TD WIDTH=106> | ||
+ | <P CLASS="western" ALIGN=CENTER><FONT FACE="Arial Narrow, sans-serif"><B>Metódus</B></FONT></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=57> | ||
+ | <P CLASS="western" ALIGN=CENTER><FONT FACE="Arial Narrow, sans-serif"><B>Típus</B></FONT></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=85> | ||
+ | <P CLASS="western" ALIGN=CENTER><FONT FACE="Arial Narrow, sans-serif"><B>Paraméter</B></FONT></P> | ||
+ | |||
+ | </TD> | ||
+ | <TD WIDTH=330> | ||
+ | <P CLASS="western" ALIGN=CENTER><FONT FACE="Arial Narrow, sans-serif"><B>Leírás</B></FONT></P> | ||
+ | </TD> | ||
+ | |||
+ | <TR> | ||
+ | <TD WIDTH=106> | ||
+ | <P CLASS="western"><B>ToColorpart</B>()</P> | ||
+ | |||
+ | </TD> | ||
+ | <TD WIDTH=57 VALIGN=TOP> | ||
+ | <P CLASS="western">Példány</P> | ||
+ | </TD> | ||
+ | <TD WIDTH=85 VALIGN=TOP> | ||
+ | <P CLASS="western">Nincs</P> | ||
+ | </TD> | ||
+ | <TD WIDTH=330 VALIGN=TOP> | ||
+ | |||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm; widows: 2; orphans: 2"> | ||
+ | <FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">A számot | ||
+ | hexadecimális formában adja</FONT></P> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm; widows: 2; orphans: 2"> | ||
+ | <FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">vissza. Ez | ||
+ | hasznos amikor az RGB</FONT></P> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm; widows: 2; orphans: 2"> | ||
+ | <FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">komponenst | ||
+ | a HTML reprezentációra akarjuk</FONT></P> | ||
+ | <P CLASS="western" STYLE="widows: 2; orphans: 2">konvertálni.</P> | ||
+ | |||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR> | ||
+ | <TD WIDTH=106> | ||
+ | <P CLASS="western"><B>Succ()</B></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=57 VALIGN=TOP> | ||
+ | <P CLASS="western">Példány</P> | ||
+ | |||
+ | </TD> | ||
+ | <TD WIDTH=85 VALIGN=TOP> | ||
+ | <P CLASS="western">Nincs</P> | ||
+ | </TD> | ||
+ | <TD WIDTH=330 VALIGN=TOP> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm; widows: 2; orphans: 2"> | ||
+ | <FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">A következő | ||
+ | számot adja vissza, ez olyan</FONT></P> | ||
+ | <P CLASS="western"><FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">esetben | ||
+ | használható amikor iterátor van.</FONT></P> | ||
+ | |||
+ | <P CLASS="western"><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR> | ||
+ | <TD WIDTH=106> | ||
+ | <P CLASS="western"><B>Times(iterator)</B></P> | ||
+ | </TD> | ||
+ | |||
+ | <TD WIDTH=57 VALIGN=TOP> | ||
+ | <P CLASS="western">Példány</P> | ||
+ | </TD> | ||
+ | <TD WIDTH=85 VALIGN=TOP> | ||
+ | <P CLASS="western">Iterator:egy Function(value,index) függvény | ||
+ | objektum</P> | ||
+ | </TD> | ||
+ | <TD WIDTH=330 VALIGN=TOP> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm; widows: 2; orphans: 2"> | ||
+ | |||
+ | <FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">Meghívja az | ||
+ | iterator függvényt folyamatosan</FONT></P> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm; widows: 2; orphans: 2"> | ||
+ | <FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">átadva neki | ||
+ | a value és index paramétereket,</FONT></P> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm; widows: 2; orphans: 2"> | ||
+ | <FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">ami az | ||
+ | iterátor jelenlegi értékét és a aktuális</FONT></P> | ||
+ | <P CLASS="western" STYLE="margin-bottom: 0cm; widows: 2; orphans: 2"> | ||
+ | <FONT FACE="TimesNewRomanPSMT, Times New Roman, serif">indexét | ||
+ | tartalmazza.</FONT></P> | ||
+ | |||
+ | <P CLASS="western"><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | </TABLE> | ||
+ | |||
+ | ===Kiterjesztések a Function osztályhoz=== | ||
+ | <table border="1" bordercolor="#000000" cellpadding="7" cellspacing="0" width="683"> | ||
+ | |||
+ | <tr valign="top"> | ||
+ | <td width="153"> | ||
+ | |||
+ | <p class="western" align="center"><font face="Arial Narrow, sans-serif"><b>Metódus</b></font></p> | ||
+ | </td> | ||
+ | <td width="57"> | ||
+ | <p class="western" align="center"><font face="Arial Narrow, sans-serif"><b>Típus</b></font></p> | ||
+ | </td> | ||
+ | <td width="85"> | ||
+ | <p class="western" align="center"><font face="Arial Narrow, sans-serif"><b>Paraméter</b></font></p> | ||
+ | |||
+ | </td> | ||
+ | <td width="330"> | ||
+ | <p class="western" align="center"><font face="Arial Narrow, sans-serif"><b>Leírás</b></font></p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width="153"> | ||
+ | <p class="western"><b>Bind(object)</b></p> | ||
+ | |||
+ | </td> | ||
+ | <td valign="top" width="57"> | ||
+ | <p class="western">Példány</p> | ||
+ | </td> | ||
+ | <td valign="top" width="85"> | ||
+ | <p class="western">Object: az objektum amely tartalmazza a | ||
+ | metódust</p> | ||
+ | </td> | ||
+ | <td valign="top" width="330"> | ||
+ | |||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">Visszadja | ||
+ | egy példányát a</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">függvénynek | ||
+ | a függvényt(=</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">metódust) | ||
+ | tartalmazó objektumból.</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">A | ||
+ | visszaadott függvénynek</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">ugyanazon | ||
+ | argumentumai lesznek,</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">mint | ||
+ | az eredetinek volt.</font></p> | ||
+ | |||
+ | <p class="western" style="widows: 2; orphans: 2;"><br> | ||
+ | </p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width="153"> | ||
+ | <p class="western"><b>BindAsEventListener</b></p> | ||
+ | </td> | ||
+ | |||
+ | <td valign="top" width="57"> | ||
+ | <p class="western">Példány</p> | ||
+ | </td> | ||
+ | <td valign="top" width="85"> | ||
+ | <p class="western" style="widows: 2; orphans: 2;">Object: <font face="TimesNewRomanPSMT, Times New Roman, serif">objektum | ||
+ | ami</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">tartalmazza | ||
+ | a metódust</font></p> | ||
+ | <p class="western"><br> | ||
+ | |||
+ | </p> | ||
+ | </td> | ||
+ | <td valign="top" width="330"> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">Visszadja | ||
+ | egy példányát a</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">függvénynek | ||
+ | a függvényt(=</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">metódust) | ||
+ | tartalmazó objektumból.</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">A | ||
+ | visszaadott függvénynek az adott</font></p> | ||
+ | |||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">event | ||
+ | objektum lesz a paramétere.</font></p> | ||
+ | |||
+ | |||
+ | </td> | ||
+ | </table> | ||
+ | |||
+ | ===Kiterjesztészek a String osztályhoz=== | ||
+ | <table border="1" bordercolor="#000000" cellpadding="7" cellspacing="0" width="688"> | ||
+ | |||
+ | |||
+ | <tr valign="top"> | ||
+ | <td width="148"> | ||
+ | <p class="western" align="center"><font face="Arial Narrow, sans-serif"><b>Metódus</b></font></p> | ||
+ | </td> | ||
+ | |||
+ | <td width="57"> | ||
+ | <p class="western" align="center"><font face="Arial Narrow, sans-serif"><b>Típus</b></font></p> | ||
+ | </td> | ||
+ | <td width="65"> | ||
+ | <p class="western" align="center"><font face="Arial Narrow, sans-serif"><b>Paraméter</b></font></p> | ||
+ | </td> | ||
+ | <td width="361"> | ||
+ | <p class="western" align="center"><font face="Arial Narrow, sans-serif"><b>Leírás</b></font></p> | ||
+ | |||
+ | </td> | ||
+ | </tr> | ||
+ | <tr valign="top"> | ||
+ | <td width="148"> | ||
+ | <p class="western"><b>stripTags()</b></p> | ||
+ | </td> | ||
+ | <td width="57"> | ||
+ | <p class="western">példány</p> | ||
+ | |||
+ | </td> | ||
+ | <td width="65"> | ||
+ | <p class="western">nincs</p> | ||
+ | </td> | ||
+ | <td width="361"> | ||
+ | <p class="western">Visszaadja a szöveget HTML és XML tagok közül</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | |||
+ | <tr valign="top"> | ||
+ | <td width="148"> | ||
+ | <p class="western"><b>stripScripts()</b></p> | ||
+ | </td> | ||
+ | <td width="57"> | ||
+ | <p class="western">példány</p> | ||
+ | </td> | ||
+ | <td width="65"> | ||
+ | |||
+ | <p class="western">nincs</p> | ||
+ | </td> | ||
+ | <td width="361"> | ||
+ | <p class="western">Visszaadja a szöveget <script/> blokkok | ||
+ | nélkül</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | |||
+ | <tr valign="top"> | ||
+ | <td width="148"> | ||
+ | <p class="western"><b>escapeHTML()</b></p> | ||
+ | </td> | ||
+ | <td width="57"> | ||
+ | <p class="western">példány</p> | ||
+ | </td> | ||
+ | <td width="65"> | ||
+ | |||
+ | <p class="western">nincs</p> | ||
+ | </td> | ||
+ | <td width="361"> | ||
+ | <p class="western">Visszaadja a szöveget a HTML karakterek | ||
+ | eszképelése után</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr valign="top"> | ||
+ | <td width="148"> | ||
+ | |||
+ | <p class="western"><b>unescapeHTML()</b></p> | ||
+ | </td> | ||
+ | <td width="57"> | ||
+ | <p class="western">példány</p> | ||
+ | </td> | ||
+ | <td width="65"> | ||
+ | <p class="western">nincs</p> | ||
+ | |||
+ | </td> | ||
+ | <td width="361"> | ||
+ | <p class="western">Az escapeHTML() fordítottja</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr valign="top"> | ||
+ | <td width="148"> | ||
+ | <p class="western"><b>extractScripts()</b></p> | ||
+ | |||
+ | </td> | ||
+ | <td width="57"> | ||
+ | <p class="western">példány</p> | ||
+ | </td> | ||
+ | <td width="65"> | ||
+ | <p class="western">nincs</p> | ||
+ | </td> | ||
+ | <td width="361"> | ||
+ | |||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">Egy | ||
+ | Array objektumot ad vissza, ami tartalmazza a</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;">szövegben | ||
+ | található összes <script /> blokkot.</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr valign="top"> | ||
+ | <td width="148"> | ||
+ | |||
+ | <p class="western"><b>evalScript()</b></p> | ||
+ | </td> | ||
+ | <td width="57"> | ||
+ | <p class="western">példány</p> | ||
+ | </td> | ||
+ | <td width="65"> | ||
+ | <p class="western">nincs</p> | ||
+ | |||
+ | </td> | ||
+ | <td width="361"> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">Kiértékeli | ||
+ | a szövegben az összes<script/> blokkot</font></p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr valign="top"> | ||
+ | <td width="148"> | ||
+ | |||
+ | <p class="western"><b>toQueryParams()</b></p> | ||
+ | </td> | ||
+ | <td width="57"> | ||
+ | <p class="western">példány</p> | ||
+ | </td> | ||
+ | <td width="65"> | ||
+ | <p class="western">nincs</p> | ||
+ | |||
+ | </td> | ||
+ | <td width="361"> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">A | ||
+ | paraméterlistát szétválasztja egy asszociatív</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">tömbbe | ||
+ | ami a paraméter neve által van indexelve.</font></p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr valign="top"> | ||
+ | <td width="148"> | ||
+ | |||
+ | <p class="western"><b>ParseQuery()</b></p> | ||
+ | </td> | ||
+ | <td width="57"> | ||
+ | <p class="western">példány</p> | ||
+ | </td> | ||
+ | <td width="65"> | ||
+ | <p class="western">nincs</p> | ||
+ | |||
+ | </td> | ||
+ | <td width="361"> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">Ugyanaz, | ||
+ | mint a toQueryParams().</font></p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr valign="top"> | ||
+ | <td width="148"> | ||
+ | <p class="western"><b>toArray()</b></p> | ||
+ | |||
+ | </td> | ||
+ | <td width="57"> | ||
+ | <p class="western">példány</p> | ||
+ | </td> | ||
+ | <td width="65"> | ||
+ | <p class="western">nincs</p> | ||
+ | </td> | ||
+ | <td width="361"> | ||
+ | |||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">A | ||
+ | szöveg karaktereit szétválasztja egy tömbbe.</font></p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr valign="top"> | ||
+ | <td width="148"> | ||
+ | <p class="western"><b>Camelize()</b></p> | ||
+ | </td> | ||
+ | <td width="57"> | ||
+ | |||
+ | <p class="western">példány</p> | ||
+ | </td> | ||
+ | <td width="65"> | ||
+ | <p class="western">nincs</p> | ||
+ | </td> | ||
+ | <td width="361"> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">Egy | ||
+ | kötöjellel elválasztott szöveget camelCase</font></p> | ||
+ | |||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">formára | ||
+ | konvertál. Ez nagyon hasznos lehet, ha</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">olyan | ||
+ | kódot írunk ami stílus tulajdonságokat</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">használ.</font></p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | |||
+ | ===Kiterjesztések az Array osztályhoz=== | ||
+ | <table border="1" bordercolor="#000000" cellpadding="7" cellspacing="0" width="660"> | ||
+ | |||
+ | <tr valign="top"> | ||
+ | <td width="145"> | ||
+ | <p class="western" align="center"><font face="Arial Narrow, sans-serif"><b>Metódus</b></font></p> | ||
+ | </td> | ||
+ | <td width="57"> | ||
+ | <p class="western" align="center"><font face="Arial Narrow, sans-serif"><b>Típus</b></font></p> | ||
+ | </td> | ||
+ | <td width="121"> | ||
+ | |||
+ | <p class="western" align="center"><font face="Arial Narrow, sans-serif"><b>Paraméter</b></font></p> | ||
+ | </td> | ||
+ | <td width="279"> | ||
+ | <p class="western" align="center"><font face="Arial Narrow, sans-serif"><b>Leírás</b></font></p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr valign="top"> | ||
+ | <td width="145"> | ||
+ | |||
+ | <p class="western"><b>Clear()</b></p> | ||
+ | </td> | ||
+ | <td width="57"> | ||
+ | <p class="western">példány</p> | ||
+ | </td> | ||
+ | <td width="121"> | ||
+ | <p class="western">Nincs</p> | ||
+ | |||
+ | </td> | ||
+ | <td width="279"> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">Kiüríti | ||
+ | a tömböt és visszaadja magát a</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">tömböt.</font></p> | ||
+ | <p class="western"><br> | ||
+ | </p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | |||
+ | <tr valign="top"> | ||
+ | <td width="145"> | ||
+ | <p class="western"><b>First()</b></p> | ||
+ | </td> | ||
+ | <td width="57"> | ||
+ | <p class="western">példány</p> | ||
+ | </td> | ||
+ | <td width="121"> | ||
+ | |||
+ | <p class="western">Nincs</p> | ||
+ | </td> | ||
+ | <td width="279"> | ||
+ | <p class="western">Visszaadja a tömb első elemét</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr valign="top"> | ||
+ | <td width="145"> | ||
+ | |||
+ | <p class="western"><b>Last()</b></p> | ||
+ | </td> | ||
+ | <td width="57"> | ||
+ | <p class="western">példány</p> | ||
+ | </td> | ||
+ | <td width="121"> | ||
+ | <p class="western">Nincs</p> | ||
+ | |||
+ | </td> | ||
+ | <td width="279"> | ||
+ | <p class="western">Visszaadja a tömp utolsó elemét</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr valign="top"> | ||
+ | <td width="145"> | ||
+ | <p class="western"><b>Compact()</b></p> | ||
+ | |||
+ | </td> | ||
+ | <td width="57"> | ||
+ | <p class="western">példány</p> | ||
+ | </td> | ||
+ | <td width="121"> | ||
+ | <p class="western">Nincs</p> | ||
+ | </td> | ||
+ | <td width="279"> | ||
+ | |||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">Visszaadja | ||
+ | a tömböt azon elemek</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">nélkül | ||
+ | melyekben null vagy undefined</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">szerepel. | ||
+ | Ez a metódus nem változtaja</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;">meg magát a | ||
+ | tömböt.</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr valign="top"> | ||
+ | |||
+ | <td width="145"> | ||
+ | <p class="western"><b>Flatten()</b></p> | ||
+ | </td> | ||
+ | <td width="57"> | ||
+ | <p class="western">példány</p> | ||
+ | </td> | ||
+ | <td width="121"> | ||
+ | <p class="western">Nincs</p> | ||
+ | |||
+ | </td> | ||
+ | <td width="279"> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">Egy | ||
+ | dimenziós tömböt ad vissza úgy,</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">hogy | ||
+ | rekurzívan végigmegy az</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">elemeken | ||
+ | és azok amelyek tömböt</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">tartalmaznak, | ||
+ | szintén belekerülnek a</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;">visszaadott | ||
+ | tömbbe.</p> | ||
+ | |||
+ | </td> | ||
+ | </tr> | ||
+ | <tr valign="top"> | ||
+ | <td width="145"> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><b>without(value1 | ||
+ | [, value2</b></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><b>[, .. | ||
+ | valueN]])</b></p> | ||
+ | </td> | ||
+ | <td width="57"> | ||
+ | |||
+ | <p class="western">példány</p> | ||
+ | </td> | ||
+ | <td width="121"> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">value1 | ||
+ | ... valueN:</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">értékek | ||
+ | amelyeket ki kell venni a</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;">tömbből</p> | ||
+ | </td> | ||
+ | |||
+ | <td width="279"> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">Visszaadja | ||
+ | a paraméterekben</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;">megadott értékek | ||
+ | nélküli tömbböt.</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr valign="top"> | ||
+ | <td width="145"> | ||
+ | <p class="western"><b>indexOf(value)</b></p> | ||
+ | |||
+ | </td> | ||
+ | <td width="57"> | ||
+ | <p class="western">példány</p> | ||
+ | </td> | ||
+ | <td width="121"> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">value: | ||
+ | az érték amit</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;">keresünk.</p> | ||
+ | |||
+ | </td> | ||
+ | <td width="279"> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">Visszaadja | ||
+ | a pozícióját annak az</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">elemnek | ||
+ | ami tartalmazza a megadott</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">value | ||
+ | értékét. Az eredmény -1 lesz ha</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;">a value nem | ||
+ | található.</p> | ||
+ | </td> | ||
+ | |||
+ | </tr> | ||
+ | <tr valign="top"> | ||
+ | <td width="145"> | ||
+ | <p class="western"><b>Reverse([applyToSelf</b></p> | ||
+ | </td> | ||
+ | <td width="57"> | ||
+ | <p class="western">példány</p> | ||
+ | </td> | ||
+ | |||
+ | <td width="121"> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">applyToSelf: | ||
+ | azt</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">jelöli, | ||
+ | hogy magát a tömböt is meg kell-e </font>fordítani.</p> | ||
+ | </td> | ||
+ | <td width="279"> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">Megfordítja | ||
+ | az elemek sorrendjét a</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">tömbben | ||
+ | és azt adja vissza. Ha nincs</font></p> | ||
+ | |||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">paraméter | ||
+ | megadva vagy az értéke</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">true, | ||
+ | akkor magát a tömbböt is</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">megfordítja. | ||
+ | Egyéb esetben</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;">változatlan | ||
+ | marad.</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr valign="top"> | ||
+ | |||
+ | <td width="145"> | ||
+ | <p class="western"><b>Shift()</b></p> | ||
+ | </td> | ||
+ | <td width="57"> | ||
+ | <p class="western">példány</p> | ||
+ | </td> | ||
+ | <td width="121"> | ||
+ | <p class="western">Nincs</p> | ||
+ | |||
+ | </td> | ||
+ | <td width="279"> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">Visszaadja | ||
+ | az első elemet és kiveszi a</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;">tömbből, így | ||
+ | annak mérete eggyel csökken</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr valign="top"> | ||
+ | <td width="145"> | ||
+ | |||
+ | <p class="western"><b>Inspect()</b></p> | ||
+ | </td> | ||
+ | <td width="57"> | ||
+ | <p class="western">példány</p> | ||
+ | </td> | ||
+ | <td width="121"> | ||
+ | <p class="western">nincs</p> | ||
+ | |||
+ | </td> | ||
+ | <td width="279"> | ||
+ | <p class="western" style="widows: 2; orphans: 2;"><font face="TimesNewRomanPSMT, Times New Roman, serif">Szövegesen | ||
+ | formázott formában adja</font></p> | ||
+ | <p class="western" style="widows: 2; orphans: 2;">vissza a tömb | ||
+ | elemeit.</p>/td> | ||
+ | </tr> | ||
+ | </table> |
A lap 2007. december 18., 15:36-kori változata
Tartalomjegyzék
Mi is az AJAX?
A leírás megtalálható az alábbi linken: Wikipedia.hu
Prototype.js
Mi is ez?
Abban az esetben ha még nem találkoztál volna vele, a prototype.js egy JavaScript könyvtár,melyet Sam Stephenson készített. Ez a szabványos, nagyon jól átgondolt és megírt könyvtár nagy terhet vesz le mindazok válláról, akik a Web 2.0-t jellemző interaktivitást szeretnének az,oldalaikon implementálni. Ha már próbáltad használni ezt a könyvtárat akkor feltünhetett, hogy a dokumentáció nem a legerősebb oldala. Mint sok más hozzám hasonló fejlesztő, próbáltam a forráskódot olvasgatni és kísérletezni vele. Gondoltam jó dologl enne jegyzetelni miközben megismerem és ezt megosztani másokkal is. Ezenkívül figyelmedbe ajánlok egy nem hivatalos referenciát a könyvtár által szolgáltatott objektumokról, osztályokról, függvényekről és kiterjesztésekről. Azok a fejlesztők akik járatosak a Ruby programozási nyelvben, a példák és a referencia tanulmányozása közben észreveszik majd a hasonlóságot a Ruby sok beépített osztályával és a könyvtár által implementált kiterjesztésekkel.
A segédfüggvények
A könyvtár rengeteg előre definiált objektumot és segédfüggvényt tartalmaz. Ezen függvények nyilvánvaló célja, hogy sok felesleges gépeléstől és munkától mentse meg a fejlesztőt.
A $() függvény használata
A $() függyvény egy könnyen használható rövidítése a gyakran használt document.getElementById() DOM függvénynek. Az eredetihez hasonlóan a paraméterben átadott azonosítóval rendelkező elemmel tér vissza. De tovább is megy egy kicsit, így több azonosítót is át lehet adni neki paraméterként és ebben az esetben egy objektum tömbbel fog visszatérni, ami tartalmazza az összes kért elemet. A következő példa ezt mutatja be.
<HTML> <HEAD> <TITLE> Tesztoldal </TITLE> <script src="prototype-1.4.0.js"></script> <script> function test1() { var d = $('myDiv'); alert(d.innerHTML); } function test2() { var divs = $('myDiv','myOtherDiv'); for(i=0; i<divs.length; i++) { alert(divs[i].innerHTML); } } </script> </HEAD> <BODY> <input type="button" value=Test1 onclick="test1();">
<input type="button" value=Test2 onclick="test2();">
</BODY> </HTML>
Egy másik hasznos tulajdonsága ennek a függvénynek, hogy nem pusztán az azonosítót lehet neki átadni szövegként, hanem magát az elemet mint objektumot, ez pedig igen hasznos lehet azokban az esetekben amikor új függvényeket készítünk melyekben mindkét fajta paraméterezésre lehetőséget szeretnénk biztosítani.
Az $F() függvény használata
Az $F() függvény is egy hasznos rövidítés, bármilyen beviteli mező értékét képes visszaadni, akár egy lenyíló listáét is. A már az előzőekben leírtakhoz hasonlóan az azonosítót vagy magát az objektumot is át lehet adni paraméterként.
<script> function test3() { alert( $F('userName') ); } </script> <input type="text" id="userName" value="Joe Doe">
<input type="button" value=Test3 onclick="test3();">
Az $A() függvény használata
Az $A() függvény a kapott paramétert tömbbé konvertálja. Ez a függvény az Array osztály kiterjesztéseivel együtt használva sokkal egyszerűbbé teszi olyan függvények írását, melyekben változó számú paramétereket akarunk fogadni.
<script> function shoutOut(){ sayHi('Hello, ', 'Homer', 'Bart', 'Marge', 'Snowball'); } function sayHi(){ var names = $A(arguments).slice(1); var phrase = arguments[0]; for(i=0; i<names.length; i++) alert(phrase + names[i]); } </script> <input type="button" value="Say hi to everybody" onclick="shoutOut();" >
A $H() függvény használata
A $H() függvény bármilyen asszociatív tömböt egy Hash objektummá konvertál.
<script> function testHash() { var a = []; //az asszociatív tömb feltöltése a['first'] = 10; a['second'] = 20; a['third'] = 30; //konvertájuk var h = $H(a); alert(h.toQueryString()); //displays: first=10&second=20&third=30 } </script>
Az $R() függvény használata
Az $R() függvény pusztán csak egy rövidítése a new ObjectRange(lowerBound, upperBound, excludeBounds)-nek. Az ObjectRange osztály dokumentációjában megtalálhatod a bővebb leírást. De azért nézzünk meg gyorsan egy egyszerű példát ami megmutatja, hogyan kell végigiterálni az each metódus segítségével. Erről a metódusról pedig az Enumerable osztály dokumentációjában olvashatsz bővebben.
<script> function demoDollar_R(){ var range = $R(10, 20, false); range.each(function(value, index){ alert(value); }); } </script> <input type="button" value="Sample Count" onclick="demoDollar_R();" >
A Try.these() függvény használata
A Try.these() függvény akkor lehet hasznos számodra, ha több függvényhívást szeretnél egymás után végrehajtatni, mindaddig amíg az egyik sikeres nem lesz. Értelemszerűen több függvényt lehet neki paraméterként átadni és ezeket sorra elkezdi meghívni mindaddig amíg az egyik nem működik, és a függvény visszatérési értéke ennek visszadott értéke lesz. A következő példában használt xmlNode.text függvény csak bizonyos böngészők esetében működik, a xmlNode.textContent függvény pedig más böngészőkkel vezet sikerre. A Try.these() használatával azzal kapjuk vissza a megfelelő eredményt amely működött.
<script> function getXmlNodeValue(xmlNode){ return Try.these( function() {return xmlNode.text;}, function() {return xmlNode.textContent;) ); } </script>
Az Ajax objektum
Az eddig leírt segédfüggvények szépek és jók, de valljuk be, nem igazán rengetik meg a világot. Talán ezeket magad is megcsináltad és ott vannak már a saját szkriptjeidben. De ezek a függvények csak a jéghegy csúcsát jelentik. Biztos vagyok benne, hogy a prototype.js AJAX lehetőségei keltik fel majd igazán az érdeklődésedet. Csapjunk is bele, nézzük meg miként teszi könnyebbé az életedet a könyvtár ha AJAX használtára van szükséged. Az Ajax objektum egy előre definiált objetum amit a könyvtár hoz létre azért, hogy elfedje és egyszerűsítse a trükközést ami az AJAX funkcionalitáshoz szükséges. Az objektum több osztályt is tartalmaz amely AJAX logikát tartalmaz. Nézzünk meg párat ezekből.
Az Ajax.Request osztály
Ha nem használsz semmiféle könyvtárat akkor elég sok kódot kell írnod ahhoz, hogy létrehozz egy XMLHttpRequest objektumot és nyomonkövesd a folyamatokat aszinkron, majd feldolgozd a választ. Na és szerencsésnek mondhatod magad, ha csak egyfajta böngészővel foglalkoznod. Ennek segítésére a könyvtárban definiálva van az Ajax.Request osztály. Vegyünk egy példát, mondjuk van egy alkalmazásod ami képes kommunikálni a szerverrel a "http://yoursever/app/get_sales?empID=1234&year=1998" hivatkozáson keresztül és a választ a következő XML formában küldi vissza.
<?xml version="1.0" encoding="utf-8" ?> <ajax-response> <response type="object" id="productDetails"> <monthly-sales> <employee-sales> <employee-id>1234</employee-id> <year-month>1998-01</year-month> <sales>$8,115.36</sales> </employee-sales> <employee-sales> <employee-id>1234</employee-id> <year-month>1998-02</year-month> <sales>$11,147.51</sales> </employee-sales> </monthly-sales> </response> </ajax-response>
Az Ajax.Request objektum segítségével nagyon egyszerű a szerverhez eljuttatni a kérést és a kapott választ feldolgozni. A következő példa ezt mutatja be.
<script> function searchSales() { var empID = $F('lstEmployees'); var y = $F('lstYears'); var url = 'http://yoursever/app/get_sales'; var pars = 'empID=' + empID + '&year=' + y; var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onComplete: showResponse }); } function showResponse(originalRequest) { //put returned XML in the textarea $('result').value = originalRequest.responseText; } </script> <select id="lstEmployees" size="10" onchange="searchSales()"> <option value="5">Buchanan, Steven</option> <option value="8">Callahan, Laura</option> <option value="1">Davolio, Nancy</option> </select> <select id="lstYears" size="3" onchange="searchSales()"> <option selected="selected" value="1996">1996</option> <option value="1997">1997</option> <option value="1998">1998</option> </select>
<textarea id=result cols=60 rows=10 ></textarea>
Az Ajax.Request objektumnak átadott paramétert. Ez {method: 'get', parameters: pars, onComplete: showResponse} egy névtelen objektumot reprezentál. Ez azt jelenti, hogy egy olyan objektumot adunk át amelynek a method tulajdonsága a 'get' szöveges értéket tartalmazza, a parameters tulajdonság a HTTP kérés paramétereit, az onComplete pedig a showResponse függvényre való hivatkozást tartalmazza. Ezeken kívül van még néhány olyan tulajdonság amit meg lehet adni, ilyen például az asynchronous, aminek az értéke true vagy false lehet és azt határozza meg, hogy az AJAX hívás a szerver felé aszinkron módon fog-e történni (az alapértelmezett érték a true). Összességében ez a paraméter határozza meg az AJAX hívás opcióit. A példánkban az első paraméterben átadott címet hívjuk meg HTTP GET paranccsal és a pars paraméterben megadott paraméterlistát kapja meg, majd az Ajax.Request objektum a showResponse függvényt fogja meghívni miután megérkezett a válasz a kérésünkre. Mint ahogy ismeretes, az XMLHttpRequest folyamatosan jelzi a HTTP kérés állapotát. Ez az állapot négy különböző esetet takar: Loading, Loaded, Interactive, vagy Complete. Megmondhatod az Ajax.Request objektumnak, hogy hívjon meg egy adott függvényt valamilyen állapot elérésekor, ezek közül a Complete a leggyakrabban használt. Ahhoz, hogy az objektum tudja milyen függvényt kell meghívnia az állapot elérésekor, egyszerűen az onXXXXX tulajdonságon keresztül lehet megadni számára, mint ahogy a fenti példában az onComplete szerepel. Ez a függvény egy paramétert fog megkapni, ami maga az XMLHttpRequest objektum lesz. Ezt az objektumot tudod arra használni, hogy kinyerd a visszakapott választ vagy éppen leellenőrizd a status tulajdonságot, ami a HTTP kérés válaszkódja. Van még két másik érdekes opció az eredmények feldolgozásához. Meg tudunk adni a onSuccess paraméterben egy függvényt amit sikeres AJAX hívás esetén fog meghívni, míg az onFailure tulajdonságon keresztül olyan függvényt, amit akkor hív meg, ha szerveroldali hiba történt. Az onXXXXX opciókhoz hasonlóan ezek is az XMLHttpRequest objektumot fogják megkapni egyetlen paraméterként. Az 1.4.0-s verzióban egy újfajta eseménykezelés került bevezetésre. Ha van olyan kódod amit mindig le kellene futtatni egy adott esemény kiváltódásakor, függetlenül attól, hogy melyik AJAX kérés váltotta azt ki, akkor az új Ajax.Responders objektumot tudod használni. Tegyük fel, hogy szeretnél valamiféle látványelemet használni arra, hogy a felhasználó felé jelezd azt, hogy az AJAX hívás folyamatban van. Ekkor két globális eseménykezelőt tudsz használni, az egyik megjeleníti az ikont az első hívás kezdetén, a másik pedig elrejtni amikor az utolsó válasz is megérkezett.
Na de lássuk a példát.
<script> var myGlobalHandlers = { onCreate: function(){ Element.show('systemWorking'); }, onComplete: function() { if(Ajax.activeRequestCount == 0){ Element.hide('systemWorking'); } } }; Ajax.Responders.register(myGlobalHandlers); </script>
Az eddigi példákban nem dolgoztuk fel a kapott XML választ, hanem csak egyszerűen beraktuk egy szövegdobozba. Valós környezetben először ki kell nyerni az értékes információt belőle majd néhány elemet az oldalon módosítani, vagy esetleg XSLT transzformáció segítségével HTML kimenetet produkálunk az oldal számára.
Erről bővebben az Ajax.Request és az options referenciákbál találhatsz.
Az Ajax.Updater osztály használata
Ha esetleg a szerver már HTML formában küldi a választ a kérésre, akkor a könyvtár Ajax.Updater osztályával könnyebbé teheti az életedet, hiszen ennek csak meg kell mondanod, hogy melyik elemet szeretnéd feltölteni az AJAX hívásra kapott HTML válasszal. De a példa beszédesebb, mint ahogy le tudnám írni.
<script> function getHTML() { var url = 'http://yourserver/app/getSomeHTML'; var pars = 'someParameter=ABC'; var myAjax = new Ajax.Updater( 'placeholder', url, { method: 'get', parameters: pars }); } </script> <input type=button value=GetHtml onclick="getHTML()">
Észre lehet venni, hogy a kód nagyon hasonló az eddigi példákban találhatókhoz az onComplete függvény megadásának kivételével illetve a konstruktorban található elemazonosítóval. Na de változtassunk egy kicsit a kódon, hogy megnézzük miként is lehet a szerveroldali hibákat lekezelni. Ehhez meg kell adnunk egy, a már fentebb leírt opciót, ez pedig az onFailure. Ezenkívül azt is meghatározzuk, hogy a megadott placeholder csak abban az esetben kerüljön feltöltésre, ha a művelet sikeres volt. Ehhez az elsőnek átadott elemazonosító paraméter helyett egy objektumot kell átadni két tulajdonsággal: success (akkor hívódik meg ha minden sikeres volt) és failure (ez pedig akkor ha gond volt). De mi most nem fogjuk használni az failure tulajdonságot, hanem az onFailure tulajdonságban megadjuk a reportError függvényt.
<script> function getHTML() { var url = 'http://yourserver/app/getSomeHTML'; var pars = 'someParameter=ABC'; var myAjax = new Ajax.Updater( {success: 'placeholder'}, url, { method: 'get', parameters: pars, onFailure: reportError }); } function reportError(request) { alert('Bocsi, ez nem jött össze.'); } </script> <input type=button value=GetHtml onclick="getHTML()">
De akkor sem kell pánikba esni, ha a szerver HTML formátum helyett egy JavaScript kódot ad válaszként, mert az Ajax.Updater objektum ebben az esetben kiértékeli azt. Ahhoz, hogy az objektum a választ JavaScriptként kezelje, egyszerűen a tulajdonságok listájához hozzá kell adni az evalScripts: true; paramétert utolsóként az objektum konstruktorában.
Kiterjesztések a JavaScript osztályokhoz
Az egyik módja annak, hogy a prototype.js könyvtár új funkciókat biztosít számunkra az, hogy kiterjeszti a már meglévő JavaScript osztályokat.
Kiterjesztések az Object osztályhoz
Metódus |
Típus |
Paraméter |
Leírás |
extend(destination, source)
|
Statikus
|
destination: bármilyen objektum, source: bármilyen objektum
|
Az örököltetést valósítja meg oly módon, hogy átmásolja a source összes tulajdonságát és metódusát a destination objektumba.
|
inspect(targetObj)
|
Statikus |
targetObj: bármilyen objektum
|
Szöveges, könnyen olvasható formában reprezentálja a targetObj objektumot. Ez adja meg az alapértelmezett visszatérési értékét a toString függvénynek, ha az adott objektumban nincs definiálva az inspect példánymetódus.
|
Kiterjesztések az Number osztályhoz
Metódus |
Típus |
Paraméter |
Leírás |
ToColorpart() |
Példány |
Nincs |
A számot hexadecimális formában adja vissza. Ez hasznos amikor az RGB komponenst a HTML reprezentációra akarjuk konvertálni. |
Succ() |
Példány |
Nincs |
A következő számot adja vissza, ez olyan esetben használható amikor iterátor van.
|
Times(iterator) |
Példány |
Iterator:egy Function(value,index) függvény objektum |
Meghívja az iterator függvényt folyamatosan átadva neki a value és index paramétereket, ami az iterátor jelenlegi értékét és a aktuális indexét tartalmazza.
|
Kiterjesztések a Function osztályhoz
Metódus |
Típus |
Paraméter |
Leírás |
Bind(object) |
Példány |
Object: az objektum amely tartalmazza a metódust |
Visszadja egy példányát a függvénynek a függvényt(= metódust) tartalmazó objektumból. A visszaadott függvénynek ugyanazon argumentumai lesznek, mint az eredetinek volt.
|
BindAsEventListener |
Példány |
Object: objektum ami tartalmazza a metódust
|
Visszadja egy példányát a függvénynek a függvényt(= metódust) tartalmazó objektumból. A visszaadott függvénynek az adott event objektum lesz a paramétere.
|
Kiterjesztészek a String osztályhoz
Metódus |
Típus |
Paraméter |
Leírás |
stripTags() |
példány |
nincs |
Visszaadja a szöveget HTML és XML tagok közül |
stripScripts() |
példány |
nincs |
Visszaadja a szöveget <script/> blokkok nélkül |
escapeHTML() |
példány |
nincs |
Visszaadja a szöveget a HTML karakterek eszképelése után |
unescapeHTML() |
példány |
nincs |
Az escapeHTML() fordítottja |
extractScripts() |
példány |
nincs |
Egy Array objektumot ad vissza, ami tartalmazza a szövegben található összes <script /> blokkot. |
evalScript() |
példány |
nincs |
Kiértékeli a szövegben az összes<script/> blokkot |
toQueryParams() |
példány |
nincs |
A paraméterlistát szétválasztja egy asszociatív tömbbe ami a paraméter neve által van indexelve. |
ParseQuery() |
példány |
nincs |
Ugyanaz, mint a toQueryParams(). |
toArray() |
példány |
nincs |
A szöveg karaktereit szétválasztja egy tömbbe. |
Camelize() |
példány |
nincs |
Egy kötöjellel elválasztott szöveget camelCase formára konvertál. Ez nagyon hasznos lehet, ha olyan kódot írunk ami stílus tulajdonságokat használ. |
Kiterjesztések az Array osztályhoz
Metódus |
Típus |
Paraméter |
Leírás |
Clear() |
példány |
Nincs |
Kiüríti a tömböt és visszaadja magát a tömböt.
|
First() |
példány |
Nincs |
Visszaadja a tömb első elemét |
Last() |
példány |
Nincs |
Visszaadja a tömp utolsó elemét |
Compact() |
példány |
Nincs |
Visszaadja a tömböt azon elemek nélkül melyekben null vagy undefined szerepel. Ez a metódus nem változtaja meg magát a tömböt. |
Flatten() |
példány |
Nincs |
Egy dimenziós tömböt ad vissza úgy, hogy rekurzívan végigmegy az elemeken és azok amelyek tömböt tartalmaznak, szintén belekerülnek a visszaadott tömbbe. |
without(value1 [, value2 [, .. valueN]]) |
példány |
value1 ... valueN: értékek amelyeket ki kell venni a tömbből |
Visszaadja a paraméterekben megadott értékek nélküli tömbböt. |
indexOf(value) |
példány |
value: az érték amit keresünk. |
Visszaadja a pozícióját annak az elemnek ami tartalmazza a megadott value értékét. Az eredmény -1 lesz ha a value nem található. |
Reverse([applyToSelf |
példány |
applyToSelf: azt jelöli, hogy magát a tömböt is meg kell-e fordítani. |
Megfordítja az elemek sorrendjét a tömbben és azt adja vissza. Ha nincs paraméter megadva vagy az értéke true, akkor magát a tömbböt is megfordítja. Egyéb esetben változatlan marad. |
Shift() |
példány |
Nincs |
Visszaadja az első elemet és kiveszi a tömbből, így annak mérete eggyel csökken |
Inspect() |
példány |
nincs |
Szövegesen formázott formában adja vissza a tömb elemeit. /td> |