Webbox ugrađuje spoljnu veb stranicu unutar ankete kao modalni iskačući prozor (iframe). Anketar tapkne dugme u tekstu oznake ili napomene, stranica se otvara u overlay-u celog ekrana unutar formulara, i kada je zatvore vraćaju se na tačno isto mesto gde su bili. Ovo vam omogućava da prikazujete referentni materijal, mape, kontrolne table ili prilagođene alate bez otvaranja zasebne kartice pregledača.


Sintaksa

Ubacite HTML tag <webbox> direktno u kolonu label napomene ili polja:

  <webbox src='https://example.com/reference' title='Referentni vodič'>Otvori referentni vodič</webbox>
  
AtributOpis
srcURL za učitavanje u iframe-u. Podržava i jednostruke i dvostruke navodnike.
titleTekst prikazan u traci zaglavlja modala. Podržava čisti tekst.
(sadržaj)Oznaka dugmeta koje se može kliknuti, prikazana u polju ankete

Osnovni primer

typenamelabel
noteref_guide<webbox src='https://docs.example.com/field-guide' title='Terenski vodič'>Otvori terenski vodič</webbox>

Ovo prikazuje dugme sa oznakom “Otvori terenski vodič”. Kada se tapkne, otvara se modal koji prikazuje veb stranicu terenskog vodiča.


Ugrađivanje mape

typenamelabel
notearea_map<webbox src='https://maps.example.com/survey-area' title='Mapa područja ankete'>Pogledajte mapu</webbox>

Prosleđivanje vrednosti formulara ugraženoj stranici

Dodajte vrednosti polja formulara URL-u koristeći concat() u koloni calculation i referencirajte rezultat u oznaci:

typenamelabelcalculation
calculatewebbox_urlconcat('https://dashboard.example.com/household?id=', ${household_id})
notehh_dash<webbox src='${webbox_url}' title='Kontrolna tabla domaćinstva'>Otvori kontrolnu tablu</webbox>

Interakcija sa ponavljanjem: dugmad za brisanje

Webbox takođe podržava posebne akcione tagove za upravljanje grupama ponavljanja unutar oznaka:

  <delete-repeat-current>Ukloni ovaj red</delete-repeat-current>
<delete-repeat-last>Ukloni poslednji red</delete-repeat-last>
  

Ovi se prikazuju kao dugmad koja brišu instance ponavljanja kada se tapknu. Postavite ih u polje note unutar (ili odmah posle) grupe ponavljanja:

typenamelabel
begin_repeatitemsStavka
textitem_nameNaziv stavke
notedelete_btn<delete-repeat-current>Ukloni ovu stavku</delete-repeat-current>
end_repeat

Komunikacija sa ugrađenom stranicom (postMessage)

Iframe webbox-a i nadređeni formular mogu komunicirati koristeći API postMessage pregledača. Roditelj šalje init poruku iframe-u kada se otvori. Ugrađena stranica može odgovoriti sa:

  • delete-repeat-current — pokreće brisanje trenutne instance ponavljanja
  • delete-repeat-last — pokreće brisanje poslednje instance ponavljanja

Ovo omogućava prilagođenim veb alatima (npr. alati za crtanje, interaktivne mape) da pokreću radnje formulara kada korisnik potvrdi radnju unutar iframe-a.


Najbolje prakse

  1. Koristite webbox za referentni materijal (smernice, tabele pretraživanja, mape) — ne za prikupljanje podataka koji treba biti u samom formularu.
  2. Osigurajte da je ugrađeni URL dostupan sa mreže uređaja — webbox zahteva vezu.
  3. Čuvajte ugrađenu stranicu prilagođenom za mobilne uređaje — modal je maksimalno 800px širok i 80% visine vidljivog prostora.
  4. Koristite opisni tekst dugmeta (npr. “Pogledajte mapu sela”) umesto generičkih oznaka (“Kliknite ovde”).
  5. Informišite anketare da zatvaranje modala vraća ih na anketu — neki korisnici možda ne znaju kako da zatvore overlay iframe-a.

Ograničenja

  • Webbox zahteva mrežnu vezu za učitavanje ugrađenog URL-a.
  • Neke spoljne stranice blokiraju ugrađivanje u iframe-ove putem zaglavlja X-Frame-Options ili Content-Security-Policy — te stranice ne mogu biti korišćene sa webbox-om.
  • Modal se zatvara kada anketar navigira dalje od pitanja — svako nesačuvano stanje u iframe-u se gubi.
  • Webbox je rtSurvey proširenje veb formulara i možda neće raditi u drugim ODK-kompatibilnim klijentima.
Da li je ova stranica bila korisna?