1. Šta su obrasci i forme?

Kada se prevode stručni termini sa engleskog jezika na bilo koji drugi, može doći do nesporazuma.

Takav slučaj je kada se pominju obrasci i forme: postoji razlika između obrasca i forme na web stranici, iako se termini često koriste kao sinonimi u svakodnevnom govoru.

1. Obrazac (eng. "Form")

  • Obrazac je HTML element (<form>) koji se koristi za prikupljanje podataka od korisnika.
  • Služi kao kontejner za elemente poput tekstualnih polja, dugmadi, checkbox-ova, radio dugmadi itd.
  • primer obrasca:
    <form action="/submit" method="post">
    <label for="name">Ime:</label>
    <input type="text" id="name" name="name">
    <button type="submit">Pošalji</button>
    </form>

    Ovde se vidi da obrazac ima atribute: action (definiše gde se podaci šalju) i method (GET ili POST). Podaci uneti u obrazac obično se šalju serveru radi obrade.

  • .... ( trebalo bi da ste radili to u okviru predmeta Web dizajn) ...

2. Forma

  • "Forma" se koristi u širem kontekstu i odnosi se na vizualni ili funkcionalni izgled na web stranici. To može uključivati: izgled i raspored polja, poziciju elemenata, dodatne interakcije, često uz pomoć JavaScript-a.
    • Na primer: ako se obrazac prikazuje u iskačućem prozoru ili modalnom dijalogu, to se može smatrati formom.
  • Forma uključuje i dizajn i način na koji korisnik komunicira s elementima.

Ukratko:

  • Obrazac je HTML struktura za unos podataka.
  • Forma je sve što korisnik vidi, uključujući dizajn, stilizaciju i raspored polja u obrascu.

Ako ste koristili Visual Studio da biste kreirali web aplikaciju, dodavali ste web forme ....

(U daljem radu ćemo uporedo koristiti izraze HTML forma i obrazac, a web forma će se odnositi na web stranicu koja se dodaje u projekat u okruženju Visual Studio.)

 

HTML forme ili (prevedenosmile obrasci u HTML-u omogućavaju korisnicima da unesu podatke i pošalju ih serveru ili ih obrade na klijentskoj strani putem JavaScript-a.

Tag koji nam je potreban za to je <form>. Tu se postavljaju elementi za unos podataka. Najčešće su to tekstualna polja, dugmići, radio dugmići, čekboksovi i padajuće liste.

( .... Inače, ovo bi trebalo da je obrađivano u okviru predmeta Web dizajn, u toku drugog razreda, pa se stoga ovde neće objašnjavati svi detalji. Umesto toga, ako je potrebno, možete dobiti smernice kako da se podsetite najvažnijih pojmova tako što ćete pogledati reference ili tutorijale na w3schools-u ....




Koji elementi se mogu koristiti u formi:

HTML <form> element može da sadrži jednu ili više kontrola (elemenata):

  • <input>
  • <label>
  • <select>
  • <textarea>
  • <button>
  • <fieldset>
  • <legend>
  • <datalist>
  • <output>
  • <option>
  • <optgroup>

Na web sajtu w3schools-a pogledajte:      (LINK: HTML Form Elements)

Proučite kako su urađeni primeri za pojedine elemente (select, textarea, button, ). Pokušajte sami da uradite te primere na stranicama za vežbu i da dodate ili oduzmete pojedine opcije.  (Ako do sad niste primetili, imate dugme, ispod primera, na kojem piše "Try it Yourself »")

U okviru ove lekcije neće biti objašnjeni svi elementi, već samo neki od onih koji se najčešće koriste:


<input>

Ovo je jedan od najviše korišćenih elemenata u formama. Koristi se za unos podataka od strane korisnika. Vrsta podataka koja se unosi zavisi od atributa
type. Neki primeri su dati u nastavku:
Tip Opis
<input type="text"> Prikazuje polje za unos jednog reda teksta
<input type="radio"> Prikazuje radio dugmiće (za izbor jedne opcije od više ponuđenih)
<input type="checkbox"> Prikazuje se checkbox (za izbor 0 ili više od ponuđenih opcija)
<input type="submit"> Prikazuje dugme za submit (za slanje podataka iz forme)
<input type="button"> Prikazuje se dugme na koje se može kliknuti

Primer:

<label for="ime">Ime:</label>
<input type="text" id="ime" name="ime">

(pokušajte ovo i sami da uradite na web sajtu w3schools-a: LINK)

<label>

Element <label> se koristi za definisanje labela / zabeleški / natpisa koji mogu da se vezuju za druge elemente u formi.

Vezivanje labele za drugi element na formi ide pomoću atributa for nakon čega se navodi id elementa za koji se labela vezuje. Ako se klikne na labelu onda se, na primer, menja stanje elementa za koji je labela vezana, ili u slučaju elemenata za unos teksta se kursor postavlja na mesto gde se taj tekst unosi.

( Treba obratiti pažnju da for atribut za <label> treba da buda identičan atributu id elementa <input>za koji se vezuje. )

<select>

Element <select> se koristi za padajuće liste:

Primer:

<label for="auta">Odaberite auto:</label>
<select id="auta" name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
(pokušajte ovo i sami da uradite na web sajtu w3schools-a: LINK

<option> definiše opciju koja može da se izabere. Ako drugačije nije navedeno, podrazumevano je da će biti odabrana prva stavka sa liste.

Za definisanje stavke koja je izabrana na početku, treba dodati se atribut selected u okviru opcije:

Primer:

<option value="fiat" selected>Fiat</option> 
        
(pokušajte ovo i sami da uradite na web sajtu w3schools-a: LINK

Za definisanje koliko elemenata je istovremeno vidljivo koristi se atribut size :

Primer:

<label for="auta">Choose a car:</label>
<select id="auta" name="auta" size="3">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
(pokušajte ovo i sami da uradite na web sajtu w3schools-a: LINK

Mogućnost izbora više opcija odjednom - atribut  multiple :

Primer:

<label for="auta">Choose a car:</label>
<select id="auta" name="auta" size="4" multiple>
  <option value="volvo">Volvo</option>
 <option value="saab">Saab</option>
  <option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
(pokušajte ovo i sami da uradite na web sajtu w3schools-a: LINK

<textarea>

Koristi se za unos više linija teksta (engl. text area):

Primer:

<textarea name="poruka" rows="5" cols="30">
Ana voli Milovana.
</textarea>

(pokušajte ovo i sami da uradite na web sajtu w3schools-a: LINK

rows - vidljivi broj linija teksta,

cols - vidljiva širina.

A ovako to izgleda u browser-u:

Isto tako, oblast u koju se piše tekst može da se definiše i korišćenjem CSS-a:

Primer:

<textarea name="poruka" style="width:200px; height:600px;">
Idemo u Afriku ...
</textarea>
(pokušajte ovo i sami da uradite na web sajtu w3schools-a: LINK

<button>

<button> sе koristi ko nam treba dugme na koje može da se klikne:

Primer:

<button type="button" onclick="alert('Hello World!')">Kliknite ovde!</button> 

A u nastavku je prikazano kako to izgleda u browser-u:


Napomena: Uvek navedite atribut type za button. Može da se desi da različiti browseri koriste različite tipove za button.


<fieldset> i <legend>

 <fieldset> element se koristi za grupisanje podataka na formi.

 <legend> element definiše naslov za <fieldset>.

Primer:

  <form>
  <fieldset>
    <legend>Personalia:</legend> <label for="fname">First name:</label><br> <input type="text" id="fname" name="fname" value="John"><br> <label for="lname">Last name:</label><br>
    <input type="text" id="lname" name="lname" value="Doe"><br><br>
    <input type="submit" value="Submit">
  </fieldset>
</form>
       (Pokušajte ovo i sami da uradite na web sajtu w3schools-a: LINK




Pogledajte još jedan primer HTML forme:

<form id="mojaForma">
Ime: <input type="text" id="ime"><br>
E-mail: <input type="email" id="email"><br>
<input type="submit" value="Pošalji">
</form>

Ova forma ima dva tekstualna polja: jedno za unos imena i jedno za unos e-mail adrese, kao i dugme za slanje.

Prvi zadatak - vežba:

Kreirati folder Forma1 i njemu fajl forma1.html. Tu treba da se od korisnika traži da se unese ime i prezime. Klikom na dugme za slanje podataka treba da se uneseni podaci ispišu u iskačućem prozoru (alert)



<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

<h1> Naslov</h1>
<hr>
<form>
<label for="ime"> Vaše ime : </label>
<input type="text" id="ime" name = "ime">
<br>
<label for="prezime"> Vaše prezime: </label>
<input type="text" id="prezime" name="pprezime">
<br>
<input type="button" id="dugme" name="dugme" value="OK" onclick="poruka()">

</form>

<script>
//ovde ide funkcija za poruku prilikom klika na dugme
function poruka() {
         var unesenoIme = document.getElementById("ime").value;
         var unesenoPrezime = document.getElementById("prezime").value;
         alert(unesenoIme + " " + unesenoPrezime);
     }

</script>

</body>
</html>

Objašnjenje: Prilikom klika na dugme se poziva funkcija poruka(). U njoj treba se pristupa dokumentu preuzimaju podaci koje je korisnik uneo i prikazuju.

2. Kako JavaScript koristi html forme?

JavaScript može pristupiti html formama i njihovim elementima pomoću DOM-a (Document Object Model) i uz to:

  • proveriti da li je unos podataka u formu ispravan, pre nego što se podaci pošalju na server,
  • čitati, menjati i automatski popunjavati podatke u formama,
  • prikupljati podatke iz forme i slati ih na server ili obrađivati lokalno,
  • osluškivati događaje (npr. klik na dugme, unos teksta, itd.) i reagovati na njih,
  • dodavati ili uklanjati polja forme u zavisnosti od korisničke interakcije,
  • menjati stil elemenata forme, sakriti ili prikazati određena polja,
  • čak može i automatski poslati formu bez korisničke interakcije.

Pomoću JavaScripta se upravlja reakcijama na događaje vezane za formu (kao što je slanje forme) i vrši validacija podataka pre nego što se uradi bilo šta drugo.

Primer čitanja i postavljanja vrednosti iz elemenata unutar html forme:

JavaScript može pristupiti vrednostima koje se unesu u elemente unutar html forme pomoću atributa value.

Primer čitanja vrednosti:

let ime = document.getElementById("ime").value;
console.log("Ime korisnika je: " + ime);

Primer promene vrednosti:

document.getElementById("ime").value = "Novo ime";

Ova linija menja vrednost polja za unos u "Novo ime".

Primer sprečavanje slanja forme ako nije popunjena kako treba:

Kada korisnik klikne na dugme za slanje podataka (tipa submit), pokreće se događaj submit. JavaScript se tada može upotrebiti za validaciju forme i sprečiti slanje podataka sve dok se ne unesu ispravni podaci.

document.getElementById("mojaForma").addEventListener("submit", function(event) {
let ime = document.getElementById("ime").value;
let email = document.getElementById("email").value;

if (ime === "" || email === "") {
alert("Sva polja su obavezna!");
event.preventDefault(); // Sprečava slanje forme
}
});

U ovom primeru, ako su polja "Ime" ili "E-mail" prazna, forma se neće poslati i prikazaće se poruka o grešci.

3. Rad sa prozorima u JavaScript-u

JavaScript omogućava otvaranje novih prozora i prikazivanje dijaloga poput upozorenja, potvrda i prompta. 

Već smo dijaloge i iskačuće prozore radili u prethodnim lekcijama:

alert() prikazuje poruku u dijalogu.

alert("Ovo je upozorenje!");

confirm() prikazuje dijalog sa pitanjem i dve opcije: OK i Cancel. Vraća true ako je korisnik kliknuo na OK, a false ako je kliknuo na Cancel.

let potvrda = confirm("Da li ste sigurni?");
if (potvrda) {
console.log("Korisnik je potvrdio.");
} else {
console.log("Korisnik je otkazao.");
}

prompt() prikazuje dijalog sa poljem za unos teksta. Koristi se za traženje unosa od korisnika.

let ime = prompt("Unesite svoje ime:");
console.log("Ime korisnika je: " + ime);

Za otvaranje novih prozora ili tabova se koristi window.open().

Primer otvaranja novog prozora:

let noviProzor = window.open("https://www.example.com", "_blank", "width=500,height=500");

Ova linija koda otvara novi prozor sa širinom od 500px i visinom od 500px, a strana se otvara u novom tabu (_blank).




Napomena 1:
   Treba naglasiti da sva INPUT polja koja ćemo pominjati nisu uvek podržana od strane svih glavnih web pregledača.
   Da biste proverili da li vaš web pregledač podržava neku HTML komponentu ili web tehnologiju, posetite link  https://caniuse.com  i ukucajte ime tražene kontrole/tehnologije.


Dodatni linkovi:

Online okruženje za vežbanje (html, css, javascript i pregled rezultata):

 
 
Last modified: Friday, 12 December 2025, 9:51 AM