Mind a hagyományos, mind az XMLHttpRequest elemeknek helyük van a proformban. Melyiknek mi a szerepe? Hagyományos űrlapokat alkalmazunk olyan esetekben, amikor egy űrlapot elküldve egy teljesen más felületet kell adnunk a felhasználónak. XMLHttpRequest megoldásokat alkalmazunk az alábbi esetekben:
- szerver oldali adatellenőrzés esetében, amikor jelentősen javít a használhatóságon, hogy a felhasználónak már a kitöltést követően azonnal hibaüzenetet tudunk adni, nem csak az úrlap elküldésekor (pl. vendégkönyv bejegyzés előzetese belépés nélkül, regisztrációkor a felhasználói név foglaltságának ellenőrzése),
- hagyományos űrlappal csak több lépésben, vagy felugró ablakkal megvalósítható felületek esetében (pl. egy kiválasztás egy másik előző kiválasztástól függ),
- hagyományos eszközökkel nem megvalósítható esetekben (pl. feltöltési állapotkijelző).
Fontos követelmény, hogy a háttérben zajló kommunikáció lezajlására és annak eredményére a felhasználó figyelmét vizuálisan felhívjuk.
Néhány tipikus példa (ezek konvencionális eszközök, de működésük nincs rögzítve):
- Adatellenőrzés – szerver oldali adatellenőrzés, mely tipikusan egyszerű szövegmezőket vizsgál (text, password). A helyes kitöltöttség megjelölésének sajátos módja van. Az első példa egy belépéssel egybekötött megjegyzés írása, a második pedig egy regisztrációban elhelyezett felhasználói név foglaltságának ellenőrzése.
- Dinamikus választólista – olyan választólista, amely – ahogy a példában is látható – egy másik űrlapelemtől függ, (amitől függ, az többféle mező lehet: szövegmező, választól ista, jelölőnégyzet, választógomb). A dinamikus választólisták egyszerűbb esetben megvalósíthatók hagyományos módon, de nagyobb adatmennyiség esetén jobb az XMLHttpRequest megoldás.
- Gyorsválasztó – egy olyan választólista, amelyet akkor alkalmazunk, amikor egy olyan adatot kell egy mezőbe beírnunk, amelyet – pontosan – csak szerver oldali kommunikációval tudhatunk meg. Az egyszerű gyorsválasztó egy szövegmezőből és egy választólistából áll (amikor a feltétel egy mezőben megadható). Az összetett gyorsválasztó pedig több mezőből és egy választólistából. Az első példa egy egyszerű gyorsválasztó működését mutatja be, a második példa pedig egy többsoros választólista lehetőségeinek kibővítését.