Java Script

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 157

Internet programiranje

JavaScript

Uvod
(X)HTML u jednom trenutku postaje
ograniavajui faktor
Potrebna je nova tehnologija za
realizaciju dinamikih delova
aplikacije

Uvod
Decembar 1995.god, Netscape i Sun
su predstavili JavaScript 1.0,
originalno nazvan LiveScript
Microsoft prati sa jezikom JScript
ECMAScript 5.1, ili ISO/IEC 16262
standard
Danas Netscape, odnosno Mozilla, i
Microsoft standardi su identini u
preko 95% sluajeva

Reference

Trenutno je aktuelan Javascript 1.8, koji je


opisan u standardu ECMAScript verzija 3, sa
ekstenzijama.
www.w3schools.com
www.ecma-international.org
https://developer.mozilla.org/en/JavaScript
www.jquery.com
David Falangan, JavaScript: The Definitive Guide,
O'Reilly Media, Inc., 6th edition, April 2011
www uopte

Osobine
Platformski neutralan
Modularno programiranje
Integrisanost sa (X)HTML-om
Nema velikih slinosti sa Javom

Zata se koristi JavaScript?


Omoguava dinamiki (X)HTML
sadraj
Moe da menja vrednosti (X)HTML
elemenata i atributa
Koristi se za proveru ispravnosti
popunjenih formulara
Reaguje na dogaaje tipa klika,
slanja formulara itd.
Ostvaruje razne vremenske funkcije

1. Osnove JavaScript-a
Tag
Komentari
Prikaz
Promenljive i njihovi tipovi
Operatori
Funkcije
Objekti

Izvravanje koda
U okviru (X)HTML koda:
<script type=text/javascript">
...JavaScript kod;
</script>
Ili u eksternom fajlu:
<script type=text/javascript" src="
jskod.js">
</script>
Ili nekad bez script taga
Naredba se zavrava taka zarezom ;

Komentari

Za komentar jedne linije - oznaka // :

// komentar u jednoj liniji ...


Za komentar vie redova - /* za
poetak bloka pod komentarom i */ za
kraj bloka pod komentarom:
/*
komentar u vie redova...
*/

Prikaz - write
Primer:
<script type=text/javascript">
document.write(<b>Prvi
red</b><br /><i>Drugi red</i>);
</script>
Rezultat primera:
Prvi red
Drugi red

Promenljive

Sadre vrednosti koje program smeta


u okviru memorije raunara
Da bi se koristile u okviru programa:

Napisati naredbu koja kreira


promenljivu
Dodeliti joj eljeno ime

Na kraju vrednost treba da se dodeli


promenljivoj

Imena promenljivih

Ime koje se dodeljuje promenljivoj se naziva i


identifikator
Pravila i konvencije pri imenovanju
promenljivih:

Identifikator mora poinjati slovom, znakom dolar


($), ili donjom crtom ( _ )
U okviru imena se mogu koristiti brojevi, ali ne
kao prvi karakter
Ne mogu se koristiti prazna mesta u okviru imena
Ne mogu se koristiti rezervisane rei za
identifikatore

var

U okviru JavaScript jezika, rezervisana re


var se koristi za kreiranje promenljivih
Kreiranje promenljive se naziva i deklaracija
promenljive
Da bi se dodelila odreena vrednost ili da bi
se inicijalizovala promenljiva koristi se
sintaksa:

var imePromenljive = vrednost;

Vrednost dodeljena promenljivoj moe biti


znakovna ili numerika vrednost

Tipovi podataka

Specifina kategorija informacija koje se


sadre u okviru promenljive
Pomae da raunar odredi koliko je
prostora potrebno da bi se smestila
odreena promenljiva
Tip podataka definie i vrstu operacija
koje se mogu izvriti sa datom
promenljivom

Deklaracija tipova

Striktni programski jezici

Zahtevaju da se deklarie tip podataka


promenljive
Statiki tip podataka
Tip podataka se ne menja nakon same
deklaracije

Jednostavniji programski jezici - JavaScript

Ne zahtevaju da se deklarie tip podataka


promenljive
Dinamiki tip podataka

Tip podataka se moe menjati nakon same


deklaracije

Deklaracija tipova u
JavaScript-u

JavaScript je jednostavniji programski jezik

Ne zahteva se, i nije dozvoljeno, deklarisati tip


podataka promenljive

JavaScript interpreter

Automatski prepoznaje koji tip podataka je


smeten u okviru promenljive
Dodeljuje tip podatka promenljivoj dinamiki

Null vrednost

Vrednost null je

Tip podataka/vrednost koja se moe dodeliti


promenljivoj
Pokazuje da promenljiva ne sadri nikakvu
korisnu vrednost
Vrednost null se dodeljuje promenljivoj
kada se eli definisati da promenljiva ne
sadri nikakav podatak

Tipovi podataka u
JavaScript-u

JavaScript je case sensitive jezik.


Tipovi podataka koji su podrani su
celobrojni brojevi, racionalni brojevi,
stringovi i logiki tip.
Celobrojni brojevi se mogu koristiti sa
brojnom osnovom 10, 8 ili 16.
Racionalni brojevi - 3.14, 314E-2 ili
314e-2.
String predstavlja proizvoljan niz
karaktera izmeu navodnika (neki
tekst) ili apostrofa (neki tekst).

Operatori
Aritmetiki
Na nivou bita
Relacionalni
Logiki

Aritmetiki operatori
Operator

Opis

Operator

Opis

sabiranje

+=

sabiranje
dodela

oduzimanje

-=

oduzimanje
dodela

mnoenje

*=

mnoenje
dodela

deljenje

/=

deljenje
dodela

moduo

%=

Moduo
dodela

++

inkrement

--

dekrement

Aritmetiki operatori
a = 1 + 1;
b = a * 3;
c = b / 4;
d = b a;
e = -d;
document.write(a, b, c, d, e, su , ,a,
,b, ,c, ,d, ,e);
Nakon izvravanja prethodnog primera dobija se
sledei tekst na ekranu:
a, b, c, d, e, su 2 6 1.5 4 -4

Na nivou bita
Operator

Upotreba

Opis

Logiko I (AND)

a&b

Logiko ILI (OR)

a|b

Rezultatni bit je 0, jedino ako su oba bita 0 u ostalim


sluajevima rezultat je 1.

Logiko eksluzivno
ILI (XOR)

a^b

Rezultatni bit je 1, ako biti imaju razliite vrednosti, u


suprotnom je 0.

Logiko NE (NOT)

~a

Komplementira bitove operanda a.

Pomeranje ulevo

a << b

Pomera binarni sadraj operanda za b mesta ulevo. Prazna


mesta popunjava sa vrednou 0.

Pomeranje udesno
sa znakom

a >> b

Pomera binarni sadraj operanda za b mesta udesno.


Prazna mesta popunjava sa vrednou najstarijeg bita.

Pomeranje udesno
sa nulama

a >>> b

Pomera binarni sadraj operanda za b mesta udesno.


Prazna mesta popunjava sa vrednou 0.

Rezultatni bit je 1, jedino ako su oba bita 1 u ostalim


sluajevima rezultat je 0.

Na nivou bita
15

& 9 rezulat 9 (1111 & 1001


= 1001)
15 | 9 rezulat 15 (1111 | 1001
= 1111)
15 ^ 9 rezulat 6 (1111 ^ 1001
= 0110)

Logiki operatori
Operator

Upotreba

Opis

I (&&)

expr1 && expr2

Rezultat je true, jedino ako su oba operanda true, u


ostalim sluajevima rezultat je false.

ILI (||)

expr1 || expr2

Rezultat se dobija false, jedino ako su oba operanda


false, u ostalim sluajevima rezultat je true.

NE (!)

!expr

Rezultat se dobija komplement od vrednosti


operanada. Ako je operand true, rezultat je false,
ako je operand false, rezultat je true

Logiki
a = true;
b = false;
c = a || b;
d = a && b;
f = (!a && b) || (a && !b);
g = !a;
document.write( " a = " + a + "<br />" );
document.write ( " b = " + b + "<br />" );
document.write ( " c = " + c + "<br />" );
document.write ( " d = " + d + "<br />" );
document.write ( " f = " + f + "<br />" );
document.write ( " g = " + g);

Rezultat izvravanja prethodnog primera je:


a = true
b = false
c = true
d = false
f = true
g = false

Operatori poreenja
Operator

Upotreba

Opis

Jednakost (==)

Rezultat je true ako su operandi


jednaki

x == y rezultat je true ako su x i y


jednaki.

Nejednakost (!=)

Rezultat je true ako su operandi


razliiti.

x ! = y rezultat je true ako su x i y


razliiti.

Vee (>)

Rezultat je true ako je levi operand


vei od desnog operanda.

x > y ako je x vee od y.

Vee ili jednako


(>=)

Rezultat je true ako je levi operand


vei ili jednak desnom operandu

x >= y ako je x vee ili jednako y.

Manje (<)

Rezultat je true ako je levi operand


manji od desnog operanda

x < y rezultat je true ako je x manje


od y.

Manje ili jednako


(<=)

Rezultat je true ako je levi operand


manji ili jednak desnom
operandu

x <= y rezultat je true ako je x


manje ili jednako y.

Jednako bez
konverzije
tipova (===)

Rezultat je true ako su operandi


jednaki bez konverzije podataka

x === y rezultat je true ako su x i y


jednaki bez konverzije podataka

Razliito bez
konverzije
tipova (!==)

Rezultat je true ako su operandi


razliiti bez konverzije podataka

x !== y rezultat je true ako su x i y


razliiti bez konverzije podataka

Operatori poreenja
a = 4;
b = 1;
c = a < b;
d = a == b;
document.write( c = + c + <br /> );
document.write ( d = + d );
Rezultat izvravanja prethodnog primera
je
c = false
d = false

Funkcije

Funkcije predstavljaju grupu naredbi

koja se moe izvriti kao pojedinana


jedinica

Funkcije su korisne jer ine program


preglednijim i lakim za auriranje
Kao i bilo koji drugi JavaScript kod,
funkcije se moraju definisati u okviru
<script> elementa
Funkcija se sastoji iz deklaracije funkcije i
njenog poziva

Deklaracija funkcija
Deklaracije funkcije se moe nai u
zaglavlju i telu (X)HTML koda, ali
preporuivo je da se smesti u
zaglavlje (X)HTML koda.
Sintaksa za definisanje funkcije je :
function imeFunkcije(parametri) {
naredbe;
}

Pozivanje funkcije

Da bi se izvrila funkcija potrebno ju je


pozvati sa odreenog mesta u okviru
programa
Funkcija se poziva njenim imenom i
specifikacijom argumenata u okviru
zagrada
Vrednosti argumenata se prosleuju
odgovarajuim parametrima funkcije u
skladu sa deklaracijom funkcije

Naredba return

Slui da bi se vratio rezultat funkcije


pozvanoj naredbi

Dodeljuje pozvanoj naredbi vrednost


odreene promenljive

return 8;
return p*m;

Opseg vaenja promenljive


Prema

opsegu vaenja promenljive se


dele na globalne ili lokalne.
Globalne promenljive se deklariu izvan
funkcije, i moe im se pristupiti iz bilo
kog dela programa.
Lokalne promenljive se deklariu u
okviru funkcije i jedino su dostupne u
okviru funkcije u kojoj su deklarisane.
Parametri su takoe lokalne
promenljive.

Ugraene funkcije

Na primer:

eval(string) tretira string kao naredbu


string(objekat) pretvara objekat u string
number(objekat) pretvara objekat u broj
parseInt(string[, osnova]) pretvara string u
celobrojnu vrednost sa specificiranom
osnovom
parseFloat(string) pretvara string u realni broj
itd.

Primer
Primer deklaracije funkcije:
function calculate(a,b,c) {
d = (a+b) * c;
return d;
}
Primer poziva funkcije:
var x = calculate(4,5,9);
document.write("x je ", x, "<br />");
var y = calculate((x/3),3,5);
document.write("y je ", y);
Rezultat primera:
x je 81
y je 150

Objekti

JavaScript podravaju objekte kao


strukture podataka
Objekti se definiu pomou funkcija
Za svaki objekat su vezane osobine i
metode
Osobine su promenljive kojima se dodaju
odreene vrednosti
Metode su funkcije u okviru objekata
kojima mogu da se menjaju njihove
osobine

Kreiranje klase i instance


objekta
Klasa objekta ili prototip se definie funkcijom
ija je sintaksa
function mojObjekat (p1,p2,){
this.osobina1=f1(p1,p2,);
this.osobina2=f2(p1,p2,);
}
Instanca objekta se definie pomou naredbe
new
mojaInstanca=new mojObjekat(c1,c2,)
Klasa mojObjekat ne mora biti definisana da bi
bila instancirana; klasa ne mora da ima
parametre; f1,f2 mogu biti konstantne funkcije;
ne moraju sve osobine klase biti definisane.

Rad sa osobinama objekata


Vrednost osobine instance objekta se moe
koristiti na sledei nain:
imePromenljive=mojaInstanca.Osobina1;
Vrednost osobine instance objekta se moe
promeniti ili naknadno definisati ukoliko nije bila
ranije:
mojaInstanca.Osobina1=vrednost1;
Vrednost osobine klase objekta se moe
naknadno definisati ukoliko nije bila ranije:
mojObjekat.prototype.Osobina1=vrednost1;

Primer rada sa objektima


<html><body>
<script type=text/javascript>
function osoba(ime,prezime,godine){
this.ime=ime;
this.prezime=prezime;
this.godine=godine;}
mojOtac=new osoba(Jovan,Simi,50);
document.write(mojOtac.ime + +
mojOtac.prezime + je + mojOtac.godine +
godina star.);
</script></body></html>
Rezultat
Jovan Simi je 50 godina star.

Primer rada sa objektima


<html><body>
<script type=text/javascript>
function osoba(ime,prezime,godine){
this.ime=ime;
this.prezime=prezime;
this.godine=godine;}
mojOtac=new osoba(Jovan,Simi,50);
mojOtac.ime=Petar;
document.write(mojOtac.ime + + mojOtac.prezime
+ je + mojOtac.godine + godina star.);
</script></body></html>
Rezultat
Petar Simi je 50 godina star.

Primer rada sa objektima


<html><body>
<script type=text/javascript>
function osoba(prezime,godine){
this.prezime=prezime;
this.godine=godine;}
mojOtac=new osoba(Simi,50);
mojOtac.ime=Ivan;
document.write(mojOtac.ime + +
mojOtac.prezime + je + mojOtac.godine +
godina star.);
</script></body></html>
Rezultat
Ivan Simi je 50 godina star.

Kreiranje objekta sa
metodom
Primer metoda objekta:
function mojkrug(x,y,r)
{ this.xkord = x;
this.ykord = y;
this.radius = r;
this.povrsina = izrPovrsinu;
this.obim = function () {
return ( Math.PI * this.radius * 2 ); };
this.pomeri = pomeriKrug; }

function izrPovrsinu() {
return ( Math.PI * this.radius * this.radius ); }
function pomeriKrug(xPom,yPom) {
this.xkord += xPom; this.ykord += yPom; }

Kreiranje objekta sa
metodom
Alternativni primer kreiranja metoda objekta:
function mojkrug(x,y,r) {
this.xkord = x;
this.ykord = y;
this.radius = r; }
mojkrug.prototype.povrsina = function () {
return ( Math.PI * this.radius * this.radius );}
mojkrug.prototype.obim = function () {
return ( Math.PI * this.radius * 2 ); };
mojkrug.prototype.pomeri = function (xPom,yPom)
{ this.xkord += xPom; this.ykord += yPom; };

Korienje metoda
Primer korienja metoda iz prethodnog primera:
var testkrug = new mojkrug(3,4,5);
testkrug.pomeri(2,3);
document.write( Povrina kruga je ' +
testkrug.povrsina() );
document.write( <br />Obim kruga je ' +
testkrug.obim() );
Rezultat prethodnih komandi je:
Povrina kruga je 78.53981633974483
Obim kruga je 31.41592653589793

Ugraeni objekti

Array - niz
RegExp uzorci za pretraivanje
String - znakovni niz
Date vreme
Event objekti koje generiu dogaaji
Boolean logika promenljiva
Math - Matematiki objekt
DOM (X)HTML i JavaScript objekti

2. Kontrola toka

Ternarni operator
If-else naredba
Switch naredba
Petlje

Izlazi iz blokova

For petlja
While petlja
Break
Continue

With naredba

Ternarni operator
Sintaksa:
logIzraz ? izraz1 : izraz2
gde je izraz log_izraz bilo koji izraz iji
rezultat je vrednost logikog tipa. Ako je
rezultat izraza true, onda se izvrava
izraz1, u suprotnom izraz2.
Primer:
kolicnik = (imenioc ==0 ? 0 : brojioc/
imenioc)

Kontrole toka - if
Sintaksa:
if (logIzraz) {naredbe1;}
[else {naredbe2;}]

Primer:
if (x == 8) {

else {
y=y*x;
}

y=x;
z=x;

Kontrola toka - if
Jo jedan primer:
if (mesec == 1)
ime_meseca = Januar;
else if (mesec == 2)
ime_meseca = Februar;
else if (mesec == 3)
ime_meseca = Mart;
else if (mesec == 4)
ime_meseca = Maj;
else
....
else if (mesec == 12)
ime_meseca = Decembar;

Kontrola toka - switch


Sintaksa
switch (izraz) {
case vr1: naredbe1; [break;]
...
case vrN: naredbeN; [break;]
[default: naredbeDef;]
}

Kontrola toka - switch


Primer:
switch(mesec) {
case 1: ime_meseca = Januar; break;
case 3: ime_meseca = Mart; break;
case 5: ime_meseca = Maj; break;
case 7: ime_meseca = Jul; break;
case 8: ime_meseca = Avgust; break;
case 10: ime_meseca = Oktobar; break;
case 12: ime_meseca = Decembar; break;
case 4: ime_meseca = April ; break;
case 6: ime_meseca = Jun; break;
case 9: ime_meseca = Septembar; break;
case 11: ime_meseca = Novembar; break;
case 2: ime_meseca = Februar ;
}

Petlje - while
Sintaksa:
[inicijalizacija;]
while(logIzraz){
naredbe;
}

Primer:

i=1;
while(i<=10){
document.write(i+

i=i+1;
}

"<br />");

Petlje - do-while
Sintaksa:
[inicijalizacija;]
do {
naredbe;
} while (logIzraz);

Primer:
i=1;
do {
document.write(i+ "<br />");
i=i+1;
} while(i<=10)

Petlje - for
Sintaksa:
for(inicijalizacija; logIzraz; iteracija){
naredbe;
}

Primer:
for(i=1; i<=10; i++){
document.write(i+ "<br />");
}

Petlje for-in
Sintaksa:
for (imePromenljive in imeSkupa) {
naredbe;
}
Primer:
for (x in mojaKola) {
document.write(mojaKola[x] +
"<br />"); }

Kontrola toka - break

Primer:
a: {
b:
{
c:
{
document.write(pre break-a );
break b;
}
document.write(ovo nee biti prikazano );
}
document.write(posle break-a );
}

Rezultat:
pre break-a posle break-a

Kontrola toka - break

Primer:
a: {
b:
{
c:
{
document.write(pre break-a );
break c;
}
documen write(ovo nee biti prikazano );
}
document.write(posle break-a );
}

Rezultat:
pre break-a ovo nee biti prikazano posle break-a

Kontrola toka - continue


Primer:
for(i=0; i<10; i++){
document.write(i+ );
if (i%2 ==0)
continue;
document.write(<br />);
}

Rezultat:
01
23
45
67
89

Komanda with
Primer:
var a, x, y;
var r=10;
with (Math) {
a = PI * r * r;
x = r * cos(PI);
y = r * sin(PI/2);
}
x=r*Math.cos(Math.PI);

3. Objekti

Array - niz
RegExp uzorci za pretraivanje
String - znakovni niz
Date vreme
Event objekti koje generiu dogaaji
Math - Matematiki objekt
DOM HTML i JavaScript objekti

Osobine i metodi ugraenih


objekata

Mogu se nai na

http://www.w3schools.com/js/default.asp
http://www.w3.org/TR/DOM-Level-2-HTML/ht
ml.html
http://www.w3.org/TR/DOM-Level-2-HTML/ecm
a-script-binding.html
https://developer.mozilla.org/en/Gecko_DOM
_Reference
http://www.javascriptkit.com/domref/

Niz

Niz je objekat koji se sastoji iz vie


elemenata
Niz se kreira pomou rei new i konstruktora
Array() na sledee naine:

var imeNiza = new Array();


imeNiza = new Array(element0,
element1, ..., elementN);
Primeri:
var mojaKola=new
Array(Honda","Volvo","BMV");

Pristup elementima niza


Pojedinanom elementu se pristupa tako to se
navodi njegov indeks u okviru srednjih zagrada,
gde je indeks redni broj elemenata.
Brojanje elemenata u okviru niza startuje sa
indeksom nula, 0.
Primer:
var mojaKola=new Array("Honda","Volvo","BMV")
mojaKola[2]="Jugo";
document.write(mojaKola[0]," ",mojaKola[2]);
Rezultat primera:
Honda Jugo

Osobine i metode objekta


niza - Array

Osobina je length koja predstavlja broj


elemenata u nizu
Neke od interesantnih metoda su:

concat spajanje dva niza


join pretvaranje niza u string
sort sortiranje niza
reverse obrtanje redosleda
slice biranje izabranih elemenata
push dodavanje elementa na kraj
pull uzimanje poslednjeg elementa

Osobine objekta Array


Primer korienja osobine length
for(i=0; i<mojaKola.length; i++){
document.write(mojaKola[i] +
<br />);
}
Rezulat gornjeg primera:

Honda
Volvo
Jugo

Metode objekta Array concat


Sintaksa metode concat
imeNiza1.concat(imeNiza2,...);
Primer metode:
imena1 = new Array(Goca, Pera);
imena2 = new Array(Pavle, Aca);
imena=imena1.concat(imena2);
document.write(imena);
Rezultat primera:
Goca,Pera,Pavle,Aca

Metode objekta Array - join


Sintaksa metode concat
imeNiza.join(separator);
Primer metode:
imena = new Array(Goca, Pera, Pavle,
Aca);
svaImena=imena.join(.);
document.write(svaImena);
Rezultat primera:
Goca.Pera.Pavle.Aca

Metode objekta Array - sort


Sintaksa metode sort
imeNiza.sort(funkcijaSortiranja);
Primer metode:
imena = new Array(Goca, Pera,
Pavle, Aca);
document.write(imena.sort());
Rezultat primera:
Aca,Goca,Pavle,Pera

Datum
Datum je objekat koji nosi informaciju o
datumu i vremenu
Konstruktor objekta datum je Date, te
se vreme instancira na sledee naine:
imeDatuma = new Date();
imeDatuma = new Date(datumString);
imeDatuma = new Date(godina, mesec,
dan)
imeDatuma = new Date(godina, mesec,
dan, sat, minut, sekund);

Datum

Konstruktor Date() bez argumenta daje


trenutni datum i vreme

Primer:
document.write(Date());
Rezultat primera:
Sat Mar 21 2009 22:57:30 GMT+0100 (Central Europe
Standard Time)

Konstruktor Date(datumString) za argument


moe imati bilo koji string koga moe da
protumai metoda parse
GMT (Greenwich Mean Time) odnosno UTC
(Universal Coordinated Time) su referentna
vremena

Dozvoljeni formati datuma


koje prihvata metoda parse
Wed, 16 Jun 94 07:29:35 EST
Thu, 13 Oct 94 10:13:13 -0700
Wed, 9 Nov 1994 09:50:32 -0500
(EST)
21 dec 93 17:05
21-dec-93 17:05
21/dec/93 17:05
16 Nov 94 22:28:20 PST

Primeri objekta datum Date


Primeri:
danas = new Date();
birthday = new Date("December 17,
1995 03:24:00");
rodjendan = new Date(95,12,17);
birthday = new
Date(95,12,17,3,24,0);

Metodi objekta datum Date

Brojni su metodi objekta datum:


getDate, getDay, getFullYear, getHours,
getMilliseconds, getMinutes, getMonth,
getSeconds, getTime,
getTimezoneOffset, getUTCDate,
getUTCDay, getUTCMonth,
getUTCFullYear, getUTCHours,
getUTCMinutes, getUTCSeconds,
getUTCMilliseconds, getYear, parse,
setDate, setFullYear,...

Metoda objekta Date


parse, UTC
Metod parse vraa broj milisekundi do
navedenog datuma po lokalnom vremenu od
1.1.1970 00:00:00, a metod UTC po UTC-u
Sintaksa:
Date.parse(datumString)
Date.UTC(godina, mesec, dan, sat, minut, sekund)
Primer:
document.write(Date.parse("Aug 9, 2005"))
Rezultat primera:
1123538400000

Metoda objekta Date getTime


Ovaj metod vraa broj milisekundi do navedenog
datuma po lokalnom vremenu (od 1.1.1970
00:00:00)
Sintaksa je malo drugaija:
datum = new Date(arg);
datum.getTime();
Primer:
d = new Date(Aug 9, 2005);
document.write(d.getTime());
Rezultat primera:
1123538400000

Metoda objekta Date getDate


Ovaj metod vraa dan u mesecu (1-31) za
navedeni datum
Sintaksa:
datum = new Date(arg);
datum.getDate();
Primer:
datum1 = new Date("December 25, 2001
23:15:00");
dan = datum.getDate();document.write(dan);
Rezultat primera:
25

Metoda objekta Date getDay


Ovaj metod vraa dan u nedelji (0-ned, 1-pon ...
6-sub) za navedeni datum
Sintaksa:
datum = new Date(arg);
datum.getDay();
Primer:
datum1 = new Date("December 25, 2001
23:15:00");
dan = datum.getDay();document.write(dan);
Rezultat primera:
2

Metoda objekta Date getMinutes


Ovaj metod vraa minute za navedeni datum,
mogue vrednosti su brojevi u opsegu od 0 do
59.
Sintaksa:
datum = new Date(arg);
datum.getMinutes();
Primer:
datum1 = new Date("December 25, 2001
23:15:00");
minuta = datum.getMinutes();
document.write(minuta);
Rezultat primera:
15

Metoda objekta Date setDate


Ovaj metod postavlja dan za navedeni datum.
Sintaksa:
datum = new Date(arg);
datum.setDate(danUMesecu);
Primer:
datum1 = new Date("December 25, 2001
23:15:00");
datum1.setDate(2);
document.write(datum1);
Rezultat primera:
Sun Dec 02 2001 23:15:00 GMT+0100 (Central
Europe Standard Time)

Metoda objekta Date setMinutes


Ovaj metod postavlja broj minuta za navedeni
datum.
Sintaksa:
datum = new Date(arg);
datum.setMinutes(minuta);
Primer:
datum1 = new Date("December 25, 2001
23:15:00");
datum1.setMinutes(24);
document.write(datum1);
Rezultat primera:
Tue Dec 25 2001 23:24:00 GMT+0100 (Central
Europe Standard Time)

Metoda objekta Date toLocaleString


Ovaj metod vri konverziju datuma u
lokalni datum string
Sintaksa:
datum = new Date(arg);
datum.toLocaleString();
Primer:
datum1 = new Date("December 25, 2001
23:15:00");
document.write(datum1.toLocaleString());
Rezultat primera zavisi od podeavanja
operativnog sistema:
25. 2001 23:15:00

Metoda objekta Date toUTCString


Ovaj metod vri konverziju datuma u
datum string prema UTC standardu
Sintaksa:
datum = new Date(arg);
datum.toUTCString();
Primer:
datum1 = new Date("December 25, 2001
23:15:00");
document.write(datum1.toUTCString());
Rezultat primera:
Tue, 25 Dec 2001 22:15:00 GMT

Primer upotrebe Date


objekta
<script type="text/javascript">
danas = new Date( );
bozic = new Date( ); bozic.setMonth(0); bozic.setDate(7);
if (danas.getMonth()==0 && danas.getDate()<7)
{bozic.setFullYear(danas.getFullYear());}
else
{bozic.setFullYear(danas.getFullYear()+1);}
document.write(danas);
if (danas.getTime() < bozic.getTime()) {
razlika = bozic.getTime() - danas.getTime();
razlika = Math.floor(razlika / (1000 * 60 * 60 * 24));
document.write("<br />Samo " + razlika + " dana do Boia!");}
</script>
Rezultat:
Mon Mar 23 2009 00:12:50 GMT+0100 (Central Europe Standard
Time)
Samo 290 dana do Boia!

Uzorak
Uzorak je niz znakova i specijalnih znakova
Konstruktor objekta uzorak je RegExp,
meutim on ne mora da se koristi:
imeUzorka = new RegExp(mustra,
atributi);
var imeUzorka = /mustra/atributi;
Gde je mustra niz znakova i specijalnih
znakova, a atributi su znakovi koji
specificiraju nain apliciranja mustre.
Specijalni znakovi se koriste da bi se
definisao izraz koji se trai u tekstu.

Deklaracija uzoraka

var uPrimer = new RegExp(HTML)


var uPrimer = /HTML/
var uPrimer = new RegExp(s$)
var uPrimer = /s$/

Osobine i metodi objekta


uzorka
Osobine uzorka su global,
ignoreCase, multiline, lastIndex,
leftContext, rightContext,
Metodi uzorka su exec, test, a
metodi u kojima uzorak uestvuje
su search, match, replace, split

Specijalni znaci u uzorcima


Karakter
Slovo ili broj

Predstavlja
Istu vrednost

\t

Tab znak

\n

Nova linija

\f

Nova strana

\r

Poetak linije

Navodnici

\uxxxx

Unicode karaktera definisan pomou heksadecimalnog


boja xxxx; na primer, \u0009 ima isti efekat kao i \t

Specijalni znaci u uzorcima


Karakter
[...]
[^...]
.

Predstavlja pojavljivanje
Bilo kog karaktera od onih koji su navedeni izmeu [ i ].
Bilo kog karaktera koji nije naveden izmeu [ i ].
Bilo kog karaktera osim nove linije

\w

Bilo kog ASCII definisanog slova.

\W

Bilo kog karaktera koji nije ASCII definisano slovo.

\d

Bilo koje ASCII definisane cifre

\D

Bilo kog karaktera koji nije ASCII definisana cifra

\s

Blanko znak

\S

Koji nije blanko znak

Primeri uzoraka
/[abc]/
predstavlja jedno pojavljivanje simbola a ili
jedno pojavljivanje simbola b ili jedno
pojavljivanje simbola c.
/[^abc]/
predstavlja karakter koji nije simbol a ili b ili c.
/\d\d\d\d\d/
Pomou ovog uzorka se definie broj koji se
sastoji od 5 cifara

Specijalni znaci u uzorcima


Oznaka

Znaenje

{n,m}

Ponavljanje prethodne grupe najmanje n puta, ali najvie


m puta.

{n,}

Ponavljanje prethodne grupe n ili vie puta.

{n}

Ponavljanje prethodne grupe tano n puta.

Ponavljanje prethodne grupe jednom ili nijednom. Isto


dejstvo kao i {0,1}.

Ponavljanje prethodne grupe jednom ili vie puta. Isto


dejstvo kao i {1,}.

Ponavljanje prethodne grupe nijednom ili vie puta. Isto


dejstvo kao i {0,}.

Alternative. Pojavljivanje izraza sa desne ili pojavljivanje


izraza sa leve strane.

(...)

Grupisanje simbola u jedan objekat nad kojim se mogu


koristiti oznake *, +, ?, |, itd.

Pretraga uzorka se obavlja na poetku stringa

Pretraga uzorka se obavlja na kraju stringa

Primeri uzoraka

/\d{2,4}/
// uzorak koji oznaava 2, 3 ili 4 pojavljivanje cifara
/\w{3}\d?/ // uzorak koji oznaava tano tri pojavljivljavanja slova i
opciono jedne cifre, npr. string koji odgovara ovom uzorku je abc8 ili
qqq.
/\s+java\s+/ // uzorak koji oznaava string "java" sa jednim ili vie
prostora pre ili posle stringa
/[\"]/
// uzorak koji oznaava karakter navoda
/ab|cd|ef/ // uzorak koji oznaava pojavljivanje ab ili pojavljivanje cd ili
pojavljivanje ef
/\d{3}|[a-z]{4}/ // uzorak koji oznaava pojavljivanje tri cifre ili 4 mala
slova
/java(script)?/ // uzorak koji oznaava pojavljivanje stringa java ili
stringa javascript
/(ab|cd)+|ef)/ // uzorak koji oznaava pojavljivanje stringa ef ili
pojavljivanje jednom ili vie puta stringa ab ili pojavljivanje jednom ili
vie puta stringa cd

Atributi uzoraka
Atribut

Znaenje

Izvravanje case-insensitive
ispitivanja.

Izvrava globalno ispitivanje,


znai pronai e se sva
pojavljivanja definisanog
uzorka, a nee se ispitivanje
zaustaviti posle prvog
pronalaska uzorka.

Rad sa vie linija. ^ oznaava


poetak linije ili stringa, a $
predstavlja kraj linije ili
stringa.

Osobine uzorka
ignoreCase
Osobina ignoreCase daje informaciju da li je
pretraga osetljiva na veliinu slova ili ne.
Sintaksa:
var imeUzorka = uzorak;
imeUzorka.ignoreCase;
Primer:
var uzorak1 = /S/i;
if(uzorak1.ignoreCase)
{document.write("ignoreCase atribut je on");}
Rezultat primera:
ignoreCase atribut je on

Osobine uzorka lastIndex


Osobina lastIndex je indeks
poslednjeg znaka koji je naen.
Sledee pretraivanje treba da pone
od parametra lastIndex.
Sintaksa:
var imeUzorka = uzorak;
imeUzorka.lastIndex;
imeUzorka.index;

Metode uzorka exec


Metoda exec daje sve uzorke iz zadatog
teksta.
Sintaksa:
var imeStringa = string;
var imeUzorka = uzorak;
rez = imeUzorka.exec(ImeStringa);
rez = uzorak.exec(string);
Promenljiva rez je niz koji sadri najdui
pronaeni uzorak i uzorke koji odgovaraju
izrazima u zagradi, a rez.index je index
nultog elementa ovog podniza.

Primer - exec
Primer:
var mojUzorak = /d(b+)(d)/ig;
var rezultat =
mojUzorak.exec("cdbBdbsbz");
document.write(rezultat);
Rezultat primera:
dbBd,bB,d

Primer exec - IE
<html><body>
<script type=text/javascript>
var uzorak=/Java/g;
var text = JavaScript je mnogo zabavniji nego Java!;
while ((rez=uzorak.exec(text))){ document.write(Pronaen
+ rez[0] + na poziciji + rez.index +; Sledea
pretraga poinje od + uzorak.lastIndex + .<br />);}
</script></body></html>
Rezultat
Pronaen Java na poziciji 0; Sledea pretraga poinje
od 4.
Pronaen Java na poziciji 35; Sledea pretraga poinje
od 39.

Metode uzorka test


Metoda test trai uzorak u datom
tekstu i vraa true ukoliko ga nae
ili false ukoliko ne.
Sintaksa:
var imeStringa = string;
var imeUzorka = uzorak;
rez = imeUzorka.test(imeStringa);
rez = uzorak.test(string);

Primer upotrebe lastIndex IE


<html><body>
<script type=text/javascript>
var str=The rain in Spain stays
mainly in the plain;
var pat = new RegExp(ain,g);
for (i=0;i<4;i++){
pat.test(str);
document.write(ain found. Index is now at: + pat.lastIndex
+ <br />);}
</script></body></html>
Rezultat
ain found. Index now at: 8
ain found. Index now at: 17
ain found. Index now at: 28
ain found. Index now at: 43

String
String je objekat koji sadri niz
znakova
Konstruktor objekta string je String,
meutim on ne mora da se koristi:
imeStringa = new String(string);
var imeStringa = string;
Gde je string niz znakova pod
navodnicima;

Osobine i metodi objekta


string

Osobina objekta length izraunava broj


znakova u stringu, i ima istu sintaksu kao i
kod objekta niz
Brojni su metodi objekta string:

Koji odreuju stil niza:

big, small, bold, italics, fontcolor, fontsize,


toLowerCase, toUpperCase, sub, sup,...

Koji trae podniz niza:

search, match, replace, charCodeAt, indexOf...

Kojima se formiraju novi nizovi:


slice, substring, concat

Za kreiranje linkova:
link, anchor

Metoda objekta string big,


bold, toLowerCase, ...
Metodi big, bold, toLowerCase i slini vraaju
string u specificiranom formatu, i svi imaju slinu
sintaksu.
Sintaksa:
var imeStringa = String;
imeStringa.big(); imeStringa.bold();
imeStringa.toLowerCase();
Primer:
var poz = Dobar dan! ;
document.write(poz.big()+poz.bold()
+poz.toLowerCase());
Rezultat primera:
Dobar dan! Dobar dan! dobar dan!

Metode objekta string


fontsize, fontcolor, ...
Metodi fontsize i fontcolor vraaju string u
specificiranom formatu, i imaju slinu sintaksu.
Sintaksa:
var imeStringa = String;
imeStringa.fontsize(velicinaFonta);
imeStringa.fontcolor(imeBoje);
Primer:
var poz = Dobar dan! ;
document.write(poz.fontsize(30) +
poz.fontcolor(blue)+ poz.fontsize(30).
poz.fontcolor(red));
Rezultat primera:
Dobar dan! Dobar dan! Dobar dan!

Metode objekta string


search, replace ...
Metodi search, match, replace i slini pretrauju string .
Search nalazi poziciju uzorka, match nalazi sve
podstringove u stringu koji odgovaraju uzorku.
Sintaksa:
var imeStringa1 = string1;
imeStringa1.search(uzorak2);
imeStringa1.replace(uzorak2, string3);
Primer:
var poz = Dobar dan! ;
document.write(poz.search(dan)+<br />);
document.write(poz.replace(dan,san));
Rezultat primera:
6
Dobar san!

Metode objekta string


match
Metoda match daje sve uzorke iz zadatkog teksta.
Sintaksa:
var imeStringa = string;
var ImeUzorka = uzorak;
imeStringa.match(uzorak);
string.match(uzorak);
Primer:
x="1 plus 2 jednako je 3".match(/\d+/g);
document.write(x);
Rezultat primera:
1,2,3

Metode objekta string


substring, slice ...
Metodi substring, i slice vraaju deo stringa, i
imaju slinu sintaksu.
Sintaksa:
var imeStringa = string;
imeStringa.substr(pocetak,duzina);
string.substr(pocetak,duzina);
imeStringa.slice(pocetak,kraj);
Primer:
var poz = "Dobar dan! ";
document.writeln(poz.slice(6,9));
document.write(poz.substr(6,3));
Rezultat primera:
dan dan

Metoda objekta string link


Metoda link slui za specificiranje linka.
Sintaksa:
var imeStringa = string1; var URL = string2;
imeStringa.link(URL);
Primer:
var str="Free Web Tutorials!";
var str2= "http://www.w3schools.com";
document.write(str.link(str2));
Rezultat primera (vodi na URL w3schools):
Free Web Tutorials!

Math
Math je objekat ije su osobine matematike
konstante, a metode su matematike funkcije
Matematike konstante:
var imePromenljive = Math.osobina;
Matematike funkcije:
var imePromenljive =
Math.metoda(imePromenljive1,imePromenljive2,
);
Promenljive u okviru Math objekta su brojevi, a
argumenti metoda mogu biti i konstante.

Osobine i metodi objekta


Math
Osobine objekta Math su sledee
konstante: E, LN2, LN10, LOG2E,
LOG10E, PI, SQRT1_2, SQRT2
Metode objekta Math su sledee
funkcije: abs(x), acos (x), asin(x),
atan(x), atan2(y,x), ceil(x), cos(x),
exp(x), floor(x), log(x), max(x,y),
min(x,y), pow(x,y), random(),
round(x), sin(x), sqrt(x), tan(x)

Metoda objekta Math - PI


Osobina PI je ustvari konstanta. Sintaksa
svih osobina objekta Math je ista.
Sintaksa:
var imePromenljive = izraz (Math.PI);
Primer:
var r=2;
var povrsinaKruga=r*r*Math.PI;
document.write(povrsinaKruga);
Rezultat primera:
12.566370614359172

Metoda objekta Math - max


Metoda max je ustvari matematika funkcija.
Sintaksa:
var imePromenljive = izraz (max(imePromenljive1,
imePromenljive2));
Primer:
var r1=2; r2=3;
var max1 = Math.max(r2,Math.PI); max2 =
Math.max(r1,1);
document.write(max1+ <br />+max2);
Rezultat primera:
3.141592653589793
2

Objekat Event
Objekat Event se generie
automatski kada god se desi neki
od dogaaja
Svaki objekt generisan usled
nekog dogaaja ima svoje osobine

Dogaaji
Kod

Nastaje kada korisnik...

onBlur

izae iz fokusa elementa forme ili frejma ili prozora

onClick

klikne na dokument, element forme ili link

onChange

promeni vrednost izabranog elementa forme

onFocus

ue u fokus nekog elementa forme, frejma ili prozora

onLoad

uita stranicu u brauzer

onMouseOver
onMouseOut

pree pokazivaem mia preko linka ili povrine


izae kurzorom mia sa odreene povrine ili linka

onSelect

izabere tekstualno polje elementa forme

onSubmit

izvri slanje forme

onUnload

napusti stranicu

onReset

resetuje sadraj forme

onError

dobije greku prilikom uitavanja slike ili stranice

onAbort

prekine uitavanja slike ili stranice

Osobine objekta Event


type tip dogaaja
button na koje dugme mia je bilo
kliknuto
clientX, clientY x i y koordinata
kursora u odnosu na trenutni prozor
screenX, screenY x i y koordinata
kursora u odnosu na ekran
...

Primer primene osobine


objekta Event

Primer primene osobine


objekta Event

Primer primene osobine


objekta Event

DOM objekti

DOM objekti su

window aktivni prozor


navigator daje info o brauzeru
history istorija brauzovanja
screen podaci o ekranu
location rad sa URL-om
document aktivni dokument je HTML DOM objekat
svi HTML elementi su HTML DOM objekti

http://www.w3.org/TR/DOM-Level-2-HTML/html.html
http://www.w3.org/TR/DOM-Level-2-HTML/ecma-script-bin
ding.html
https://developer.mozilla.org/en/Gecko_DOM_Reference
http://www.javascriptkit.com/domref/index.shtml

Zajednike osobine DOM


objekata

attributes[] niz atributa elementa


childNodes[] niz dece elementa
className ime klase elementa
id id elementa
innerHTML sadraj elementa
nodeName ime entiteta
nodeValue vrednost entiteta
parentNode roditelj entiteta
style stil elementa
...

Zajednike metode DOM


objekata
appendChild(element)
getAttribute(imeAtributa)
getElementsByTagName(imeTaga)
getElementsByName(imeNameAtributa)
hasAttribute(imeAtributa)
insertBefore(noviElement, targetElement)
removeAttribute(imeAtributa)
removeChild(imeDeteta)
replaceChild(novoDete, staroDete)
...

Osobine i metode DOM


objekata

Osim zajednikih svaki objekat ima


svoje osobine i metode
Specifine osobine (X)HTML
elemenata kao objekata su jednake
njihovim atributima, dok su osobine
elementa <style> jednake CSS
osobinama
Detekcija dogaaje su takoe metodi
odreenih (X)HTML elemenata

Pristup DOM objektima


DOM objektima se pristupa pomou ID-a i
metode getElementsById ali i na druge naine
Sintaksa:
elNivo0.elNivo1...elNivoK.imeAtributa
elNivo0.elNivo1...elNivoK.innerHTML
Gde je:
elNivoX=getElementsById(ID) ili
elNivoX=getElementsByTagName(tag) ili
elNivoX=firstChild
Ukoliko specifikacija elementa ista za vie
elemenata onda kao rezultat daje niz tih
elemenata

Metode DOM objekta getElementsById

Osobina DOM objekta attributes


Sintaksa osobine attributes:
atributi = new Array(specifikacijaElementa.attributes)
Primer:
<p> <a id="link" href=http://www.etf.rs" > ETF </a> </p>
<script type="text/javascript">
var atrSlike = document.getElementById("link").attributes;
document.write(atrSlike[0].nodeName+"="+
atrSlike[0].nodeValue+"<br />");
document.write(atrSlike[1].nodeName+"="+
atrSlike[1].nodeValue);
</script>
Rezultat primera:
ETF

href=www.etf.rs
id=link

Primeri pristupa DOM


objektima - getElementById

Primeri pristupa DOM


objektima - getElemengById

Primeri pristupa DOM objektima


getElementByTagName

Primeri pristupa DOM


objektima
Primer za nodeName:
If (document.getElementById("test").firstChild.
nodeName ==div");
document.write("This is a div");
Primer za className:
document.getElementById("test").className
=klasa1;

DOM objekat - window


Objekat window je najvii u
hijerarhiji, i oznaava prozor
brauzera u kome se posmatra veb
strana
Instancira se automatski sa
tagovima <body> i <frameset>

Osobine DOM objekta window


closed true ako je prozor zatvoren
document, history, location DOM
objekti nieg nivoa
name
opener prozor u kome je otvoren
novi prozor
outerHeight, outerWidth
self
...

Metode DOM objekta window

open, close
alert, confirm, prompt popup prozorii
resizeBy, resizeTo promena veliine
moveBy, moveTo pomeranje prozora
scrollBy, scrollTo - skrolovanje
focus fokusiranje prozora

Metode DOM objekta


window: open i close
Metodi open i close slue za otvaranje i
zatvaranje prozora
Sintaksa
window.open([URL][, ime][, opcije,
zameniURL]);
Primeri opcija:
resizable=yes|no|1|0
menubar=yes|no|1|0
top=brojPixela
left=brojPixela
width=brojPixela
height=brojPixela

Primer korienja osobine


window.opener
<html>
<body>
<script type="text/javascript">
mojProzor=window.open('','','width=200,height=100');
mojProzor.document.write("Ovo je 'mojProzor'");
mojProzor.focus();
mojProzor.opener.document.write("Ovo je prozor roditelj");
</script>
</body>
</html>

Rezultat primera korienja


osobine window.opener

Metode za promene DOM


objekta window
Za promenu veliine prozora i
njegove pozicije koriste se metode
moveBy, moveTo, resizeBy,
resizeTo, scrollBy, scrollTo
Ista sintaksa:
moveBy(brojPixelaX,brojPixelaY)
resizeBy(brojPixelaX,brojPixelaY)
scrollBy(brojPixelaX,brojPixelaY)

PopUp prozorii kao metode


DOM objekta window

Metodi su

alert-prozori upozorenja sa OK dugmetom


confirm-prozori upozorenja sa OK i otkai
dugmiima
prompt-prozori u koji se moe upisati tekst

Sintaksa
alert(imeStringa)
confirm(imeStringa)
prompt(imeStringa1,imeStringa2)

Primer Alert prozoria


<html><head>
<meta http-equiv="content-type"
content="text/html;
charset=UTF-8"/>
<script type="text/javascript">
function disp_alert(){
alert('Ja sam Alert prozori');}
</script></head><body>
<input type="button"
onclick="disp_alert();"
value="Pokai Alert prozori" />
</body></html>

Vremenske funkcije kao metode


DOM objekta window
Za promenu veliine prozora i njegove pozicije
koriste se metode setInterval, clearInterval,
setTimeout, clearTimeout
Pomou metode setInterval se pokree funkcija
sa odreenom periodom, a pomou metode
setTimeout pokree se kod posle zadatog
vremena
Ista sintaksa:
setIntervalID=setInterval(kod,
intervalUMilisekundama)
clearInterval(setIntervalID)
setTimeoutID=setTimeout(kod,
intervalUMilisekundama)
clearTimeout(setTimeoutID)

Primer korienja metode


setTimeout

Primer korienja metode


setInterval

DOM objekat navigator

Daje informacije o brauzeru kroz


sledee osobine:
appName ime brauzera
appVersion verzija brauzera
browserLanguage
cpuClass
onLine
platform
cookieEnabled...

DOM objekat screen

Daje informacije o karakteristikama


ekrana:

height
width
availHeight visina bez tulbarova
availWidth irina bez tulbarova
pixelDepth broj bita boje po pixelu
bufferDepth broj bita boje u baferu
updateInterval interval osveavanja ekrana

DOM objekat history


Objekat history uva URL-ove koje je
korisnik posetio
Osobina je length
Pomou metoda back i forward korisnik se
kree kroz istoriju URL-ova, a pomou
metode go ide na partikularni URL
Sintaksa
history.back()
history.forward()
history.go(broj|URL)

DOM objekat location


Osobine daju informacije o datom URL-u, npr.
href daje kompletan URL, host daje ime hosta i
broj porta, pathname direktorijum datoteke,
hostname samo ime hosta itd.
Metode objekta location su assign, reload, i
replace i njima se uitava dati URL, osveava
postojei ili uitava novi URL.
Sintaksa metoda:
assign(URL)
reload()
replace(noviURL)

DOM objekat document

Objekat document je dokument sa kojim


radimo i preko njega pristupamo svim
njegovim elementima.
Osobine anchors, images, links i forms su
nizovi koji sadre odgovarajue elemente
Skalarne osobine su: cookie, domain,
lastModified, referrer, title, URL
Metodi su: open, close, write, writeln,
getElementsByName (opta metoda),
getElementsByTagName (opta metoda)

Osobina forms objekta


document

Slanje formulara
<html>
<head><script>
function formularSubmit(y){
document.getElementById(y).submit();}
</script></head>
<body>
<p>Enter some text in the fields below, then press the "Submit form" button
to submit the form.</p>
<form id="frm1" action="formularAkcija.php">
First name: <input type="text" name="fname"><br />
Last name: <input type="text" name="lname"><br /><br />
<input type=submit" onclick="formularSubmit(frm1)"
value="Submit form">
</form>
</body>
</html>

Slanje formulara - validacija


Validacija formulara se moe vriti u
funkciji koja se poziva kao vrednost
atributa onclick kada se klikne na
submit dugme.
Alternativno me se vriti validacija
za svako polje formulara, u funkciji
koja se poziva kao vrednost atributa
onblur ili onchange.

Kolai - cookie
Cookie su tekstualni fajlovi koje
brauzer alje klijentu kao njegov ID
Format koji cookie fajl mora da
zadovolji je:
ime=vrednost[;expires=datum]
[;domain=imeDomena]
[;path=putanja] [;secure][;httpOnly]

Kolai - cookie

ime - ime koje definie upisani cookie


vrednost - je upravo informacija koja se eli zapamtiti
datum - je datum koji definie do kada cookie ostaje
upisan na klijentskoj maini.
imeDomena - definie jedini domen sa kog cookie moe
da se ita i da mu se menja vrednost
putanja - definie jedinu putanju sa koje cookie moe da
se ita i da mu se menja vrednost.
secure - upis i itanje cookie se izvrava preko posebnih,
bezbednijih kanala
Atributi kolaia expires, domain, path, secure, httpOnly
su opcione.

Primer upotrebe osobine


cookie objekta document
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function postavljanjeCookie(){
document.cookie='Cookie je='+document.forma1.imeCookie.value;}
function prikazCookie(){
alert(document.cookie);}
</script>
</head>
<body>
<h2> Postavljanje i pregled <i>cookie</i> fajlova </h2>
<form name="forma1">
<p><input name="imeCookie" type="text" id="imeCookie"
size="20"></p>
<p><input type="button" value="Upiite ime"
onClick="postavljanjeCookie()">
<input type="button" value="Prikai cookie"
onClick="prikazCookie()"></p>
</form>
</body>
</html>

Osobina lastModified
objekta document

Osobina referrer objekta


document

Metodi objekta document


open i close

Metodi objekta document


open i close

Primer promene atributa


elementa anchor

Primer rada sa formularom

Primer rada sa formularom


<html>
<head><script>
function checkLen(x,y){
if (y.length==x.maxLength)
{var next=x.tabIndex;
if (next<document.getElementById("myForm").length)
{
document.getElementById("myForm").elements[next].focus();
}}}
</script></head>
<body>
<p>This script automatically jumps to the next field when a field's maxlength has been
reached:</p>
<form id="myForm">
<input size="3" tabindex="1" maxlength="3" onkeyup="checkLen(this,this.value)">
<input size="2" tabindex="2" maxlength="2" onkeyup="checkLen(this,this.value)">
<input size="3" tabindex="3" maxlength="3" onkeyup="checkLen(this,this.value)">
</form>
</body>
</html>

You might also like