ISPIS U DOKUMENT: PRIMER - ispis datuma poslednje izmene Web strane |
Kôd u HTML dokumentu Objašnjenje Rezultat prikazan u browser-u <HTML>
<HEAD></HEAD>
<BODY>Rezultat ispisa:<BR>
<SCRIPT LANGUAGE="JavaScript">
<!--
document.write("Datum poslednje izmene:"
+document.lastModified+" <BR>")
-->
</SCRIPT>kraj primera
</BODY>
</HTML>
HTML iskazi
početak Java Scripta
upis u HTML...
kraj JavaScript-a
Rezultat ispisa: Datum poslednje izmene:11/06/2015 06:00:22
kraj primera
Naredbom document.write(...) unutar Java Scripta se u dokument ispisuje HTML kod ili korisnički tekst.
U gore navedenom primeru svojstvo document.lastModified vraća datum i vreme poslednje izmene dokumenta.
Tekst i naredbe HTML-a se stavljaju unutar navodnika. Funkcije Java Scripta i HTML iskazi međusobno se povezuju znakom plus (+).
PRIKAZ INFORMACIJA O DOKUMENTU Dokument se u JavaScriptu tretira kao objekat koji predstavlja sadrzaj prozora ili okvira. Ovaj objekat ima svojstva koja specifikuju informacije o dokumentu: njegov URL, njegove boje, datum kada je poslednji put modifikovan, URL dokumenta koji ga je pozvao, i slicno. Ovaj objekat ima i vise metoda koji podrzavaju dinamicko pisanje u dokument (metod document.write()koji je koriscen u prethodnom primeru), otvaranje novog dokumenta.
Sta je rezultat rada sledeceg Java Script kôda? Zašto? Otvorite dokument u FF, IE browser-u.
<HTML> <HEAD><TITLE>Primer 2</TITLE></HEAD> <body> <HR><BR><BR> Dokument: <EM><SCRIPT>document.write(document.title);</SCRIPT></EM><BR> URL: <EM><SCRIPT>document.write(document.URL);</SCRIPT></EM><BR> Poslednja izmena: <EM><SCRIPT>document.write(document.lastModified);</SCRIPT></EM><BR> </body> </HTML>Objekat document objekat - trenutno prikazani HTML dokument
Upotreba window.document document Primerak objekta tipa document je smesten u polje document objekta tipa window. U specijalnom slucaju, kada se referise objekta tipa document tekuceg prozora (onog u kome se izvršava JavaScript program) može se izostaviti referisanje objekta window. Svojstva alinkColor Niska koja specifikuje boju aktivirane veze. Može biti postavljena u zaglavlju HTML dokumenta ili kao vrednost artibuta ALINK elementa <BODY>. anchors[] Niz sidra u dokumentu; po jedan element za svaku vezu polaska. anchors.length Ceo broj koji može samo da se cita i koji specifikuje broj elemenata u nizu anchors[]. applets[] Niz Java objekata u dokumentu; po jedan element za svaki <APPLET> koji se pojavljuje u dokumentu. applets.length Ceo broj koji može samo da se cita i koji specifikuje broj elemenata u nizu applets[]. bgColor Niska koja specifikuje boju pozadine dokumenta. Na pocetku se postavlja kao vrednost artibuta BGCOLOR elementa <BODY>. cookie Niska cija je vrednost 'cookie koji je pridruzen dokumentu. domain Niska koja specifikuje Internet domen sa koga je dokument. Koristi se iz razloga bezbednosti. embeds[] Niz Java objekata, po jedan element za svaki <EMBED> koji se pojavljuje u dokumentu. embeds.length Ceo broj koji može samo da se cita i koji specifikuje broj elemenata u nizu embeds[]. fgcolor Niska koja specifikuje boju teksta dokumenta. Može biti postavljena u zaglavlju HTML dokumenta ili kao vrednost artibuta TEXT elementa <BODY>. forms[] Niz Form objekata, po jedan element za svaki <FORM> koji se pojavljuje u dokumentu. forms.length Ceo broj koji može samo da se cita i koji specifikuje broj elemenata u nizu forms[]. images[] Niz Image objekata, po jedan element za svaki <IMG> koji se pojavljuje u dokumentu. images.length Broj elemenata u nizu images[]. lastModified Niska koja moze samo da se cita i koja specifikuje datum poslednje izmene dokumenta (onaj koji prijavljuje web server). linkColor Niska koja specifikuje boju neposecenih veza dokumenta. Moze biti postavljena u zaglavlju HTML dokumenta ili kao vrednost artibuta LINK elementa <BODY>. links[] Niz Link objekata, jedan za svaku hipertekstualnu vezu u dokumentu. links.length Ceo broj koji može samo da se cita i koji specifikuje broj elemenata u nizu links[]. location Sinonim za svojstvo URL. Nije isto što i Objekat Locaton, window.location plugins[] Sinonim za niz embeds[]. plugins.length Broj elemenata u nizu plugins[] ili embeds[]. referrer Niska koja može samo da se cita i koja specifikuje URL dokumenta koji je sadrzao vezu koja je referisala tekuci dokument. title Niska koja može samo da se cita, a koja specifikuje sadržaj etikete <TITLE> dokumenta. URL Niska koja može samo da se cita, a koja specifikuje URL dokumenta. vlinkColor Niska koja specifikuje boju posecene veze. Može biti postavljena u zaglavlju HTML dokumenta ili kao vrednost artibuta VLINK elementa <BODY>. Metode clear() Metod koji briše sadržaj dokumenta. close() Metod koji zatvara tok dokumenta koji je otvoren metodom open(). open() Metod koji otvara tok u koji se može upisivati sadržaj dokumenta. write() Metod koji ubacuje specifikovanu nisku ili niske u dokument koji se trenutno parsira ili u tok dokumenta koji otvoren metodom open(). writeln() Metod koji je identican sa write() samo što dodaje izlazu karakter za novi red.
JAVA SCRIPT poseduje izvestan skup predefinisanih objekata: Date, Array, Math. Razmotrimo ih na primeru objekta Date.Najpre, novi objekat se kreira upotrebom operatora NEW:
danas =new Date();
Date poseduje metode koji se mogu koristiti pri manipulaciji objektom:
getHours(), setHours() za dobijanje i postavljanje casova
getMinutes(), setMinutes() za dobijanje i postavljanje minuta
getMonth(), setMonth() za dobijanje i postavljanje meseca
....
sada =new Date();
document.write("Vreme je:" + sada.getHours() + ":" + sada.getMinutes() + "<br>");
document.write("Datum je:" + sada.getDate() + "/" + (sada.getMonth()+1) + "/" +(2000 + sada.getYear()));
Napisati Java Script kôd (datoteka drugi.htm) koji ce kao naslov nivoa 2 ispisati naziv dana u nedelji i datum u formi DD.MM.GGGG. (na primer: petak, 6.11. 2015.).
DANASNJI DATUM <HTML> <HEAD> <TITLE>Datum i formular </TITLE> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> <script language="JavaScript" type="text/javascript"> //funkcija za obradu danasnjeg datuma function Datum_danas() { var d = new Date(); // novi objekat Date, danasnji datum i vreme var a = new Array("nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"); //novi objekat Array i = d.getDay(); //metod za dobijanje rednog broja dana dan_u_n = a[i]; //naziv dana u sedmici dan_u_m= d.getDate(); // metod za dobijanje rednog broja dana u mesecu m = d.getMonth() + 1; //metod za dobijanje rednog broja meseca g = d.getFullYear(); //metod za dobijanje godine document.write(dan_u_n + ", " + dan_u_m + "." + m + ". " + g + ". " ); } </SCRIPT> </HEAD> <BODY> <H2> <script language="JavaScript" type="text/javascript"> //poziv funkcija za obradu danasnjeg datuma Datum_danas(); </SCRIPT> </H2> </BODY> </HTML>
IZRACUNAVANJE RAZLIKE IZMEĐU DVA DATUMA U ISTOJ VREMENSKOJ ZONI Ako želimo da izracunamo koliko dana ima do kraja kalendarske godine, racunacemo zapravo koliko dana ima od danasnjeg dana do kraja ove godine, tj. 31.12.<HTML> <HEAD><TITLE>Koliko dana do kraja godine?</TITLE></HEAD> <BODY> <HR> <script language="JavaScript" type="text/javascript"> danas = new Date(); // danasnje vreme i datum kraj_god = new Date(); // kraj godine kraj_god.setMonth(11); // je u decembru kraj_god.setDate(31); // 31. dana u mesecu // Koliko ima milisekundi izmedju 31.12. i danasnjeg dana razlika = kraj_god.getTime() - danas.getTime(); // A koliko je to dana razlika = Math.floor( razlika/ (1000*60*60*24) ); document.write("<h2 align=center>Broj dana do kraja godine je " + razlika + "!!!</h2>"); </SCRIPT> <HR> </BODY> </HTML>Prethodni JavaScript program koristi dva objekta tipa Date: danas i kraj_god. Za postavljanje datuma kraja godine koriste se ugradjeni metodi ovog objetka, setMonth() i setDate().Metod getTime() vraca vrednost objekta tipa Date izrazenu u milisekundama. Ona se moze koristiti za izracunavanje intervala izmedu dva datuma ili vremena koji su u istoj vremenskoj zoni.
Videli smo da se u programu koristi i specijalni objekat Math. Njegov metod floor() vrsi zaokruzivanje realnog broja na prvi manji ceo broj.
Math objekat - obuhvata matematicke funkcije i konstante
Korišcenje Math.konstanta Math.funkcija Konstante E Konstanta e, osnova prirodnog logaritma LN10 prirodni logaritam od 10 LN2 prirodni logaritam od 2 LOG10E Logaritam od e s osnovi 10 LOG2E Logaritam od e s osnovom 2 PI Konstanta pi SQRT1_2 1 kroz kvadratni koren iz 2 SQRT2 kvadtratni koren iz 2 Funkcije abs() Racuna apsolutnu vrednost acos() Racuna arc cosinus asin() Racuna arc sinus atan() Racuna arc tangens atan2() Racuna ugao izmedu x ose i tacke ceil() Zaokružuje na prvi veci celi broj cos() Racuna cosinus exp() Racuna eksponent od e floor() Zaokružuje na prvi manji celi broj log() Racuna prirodni logaritam max() Vraca veci od dva broja min() Vraca manji od dva broja pow() Racuna xy random() Racuna slucajni broj round() Zaokružuje na najbliži ceo broj sin() Racuna sinus sqrt() Racuna kvadratni koren tan() Racuna tangensZA samostalni rad: Napisite Java Script program koji ce u slucaju da Vam je danas rodjendan prikazati kao naslov nivoa 3 poruku "Danas mi je rođendan", a u suprotnom prikazati poruku o tome koliko dana je proteklo ili koliko koliko dana je preostalo da Vaseg rodjendana ove godine?
DATUM ISTEKA VIDLJIVOSTI SLIKE Ako želimo da neka slika bude vidljiva samo do određenog datuma, onda tag za ukljucivanje slike sa, na primer nazivom, bkgr2.jpg <IMG SRC="bkgr2.jpg"> ukljucujemo AKO I SAMO AKO je tekuci datum manji o datuma isteka slike.<HTML>
<HEAD>
<SCRIPT>
<!--
var slika = '<IMG SRC="bkgr2.jpg">';
var datum = new Date(); /*danasnji datum*/
function proveraIsteka(datumIsteka){
var datIsteka = new Date(datumIsteka); /* datum isteka */
if (datum.getTime() <= datIsteka.getTime()) {
document.write(slika);
document.write("<HR>slika ce biti vidljiva do dana:<BR>" + datIsteka);
} else {
document.write("<HR>slika je bila vidljiva do dana:<BR>" + datIsteka);
}
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<H4>Primer slike koja je vidljiva samo do odredjenog datuma...</H4>
<SCRIPT>
/* datum do kada želite da slika bude vidljiva - 30. 12. 2015.! */
proveraIsteka("December 30, 2015")
</SCRIPT></BODY>
</HTML>Datoteka pr44.htm
NAPISITE SAMI SLICAN JAVASCRIPT kôd koji će do datuma 31.12.2015. prikazivati na Web stranici sliku bkgr1.jpg, a nakon tog datuma na istom mestu će se prikazivati slika bkgr2.jpg. To je korisno, ako, na primer, radite sajt za neku firmu i ako ste sigurni da će ona do 31.12.2015. biti na lokaciji koju prikazuje slika bkgr1.jpg, a nakon 31.12.2015. na lokaciji koju prikazuje bkgr2.jpg
VREMENSKI BACKGROUND Pozadina Vaše Web stranice se postavlja unutar HTML oznaka <BODY BGCOLOR="#0000FF" TEXT="#FFFFFF">II način - reakcija na događaj onLoad
gde BGCOLOR oznacava boju pozadine (od #000000 do #FFFFFF u RGB modelu boja), TEXT oznacava boju slova (od #000000 do #FFFFFF u RGB modelu boja). Obicno se za boje teksta i boju pozadine uzimaju kontrasne boje ili boje sa razlicitim brightnes tonom, npr. bela slova na crnoj pozadini, crna slova na zutoj pozadini...JavaScript Vam moze pomoci da Vasa stranica izgleda dinamicnije i da se njen izgled vise puta menja u toku poseta u okviru jednog dana, ako postignete da se boje pozadine menjaju danju, u podne, nocu, ujutru,...
Kao i u rethodnom primeru, vazno je vrednost tekuceg dana prihvatiti u neku promenljivu i onda primeniti ugradjene JavaScript funkcije za dobijanje tekuceg vremena.
POGLEDAJTE PRIMER
<HTML>
<HEAD></HEAD>
<BODY>
Primer izbora boje podloge (BODY BGCOLOR) zavisno od doba dana....<br>
<SCRIPT LANGUAGE="JavaScript">
<!--
var datum = new Date(); /* prihvatanje tekućeg datuma u promenljivu */
var sati = datum.getHours(); /* prihvat tekućeg casa u promenljivu */
if (sati > 4 && sati < 7){
document.write('<BODY BGCOLOR="#0000FF" TEXT="#FFFFFF">Sada je izmedju 5 i 6 sati ujutro...')
}
if (sati > 6 && sati < 9){
document.write('<BODY BGCOLOR="#0088FF" TEXT="#FFFFFF">Sada je izmedju 7 i 8 sati ujutro...')
}
if (sati > 8 && sati < 18){
document.write('<BODY BGCOLOR="#808080" TEXT="#FFFFFF">Sada je izmedju 9 i 17 sati...')
}
if (sati > 17 && sati < 20){
document.write('<BODY BGCOLOR="#FFA500" TEXT="#FFFFFF">Sada je izmedju 18 i 19 sati...')
}
if (sati > 19 && sati < 22){
document.write('<BODY BGCOLOR="#FF55FF" TEXT="#FFFFFF">Sada je izmedju 20 i 21 sat...')
}
if (sati > 21 || sati < 5){
document.write('<BODY BGCOLOR="#FF0000" TEXT="#FFFFFF">Sada je izmedju 22 i 4 sata...')
}
//-->
</SCRIPT>
</BODY>
</HTML>Datoteka pr26.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD> <title>Primer menjanja pozadine</title> <SCRIPT language="javascript" type="text/javascript"> <!-- function boja() { var datum = new Date(); /* prihvatanje tekuceg datuma u promenljivu */ var sati = datum.getHours(); /* prihvat tekuceg casa u promenljivu */ if (sati > 4 && sati < 7) document.bgColor="#0000FF"; else if (sati > 6 && sati < 9) document.bgColor="#0088FF"; else if (sati > 8 && sati < 18) document.bgColor="#808080"; else if (sati > 17 && sati < 20) document.bgColor="#FFA500"; else if (sati > 19 && sati < 22) document.bgColor="#FF55FF"; else if (sati > 21 || sati < 5) document.bgColor="#FF0000"; } --> </SCRIPT> </HEAD> <BODY onLoad="boja()"> Primer izbora boje podloge (BODY BGCOLOR) zavisno od doba dana....Pogledajte primer. Vezbe radi, propustite ovaj primer kroz W3C validator. Uočite poruku o korektnosti HTML datoteke koja uključuje upotrebu JavaScript-a.
</BODY> </HTML>NAPISITE SAMI SLICAN JAVASCRIPT kôd koji će u neparne vrednosti časova ispisivati bela slova na crnoj pozadini, a u parne vrednosti časova ispisivati plava slova na zelenoj pozadini.
Objekat Date - manipulacija datumom i vremenom
Konstruktori new Date() new Date(milisekunde) new Date(datumkaoniska) new Date(godina,mesec,dan) new Date(godina,mesec,dan,cas,minuti,sekunde) Kada je bez argumenata, konstruktor Date() kreira objekat tipa Date koji je postavljen na tekuce vreme i na tekuci datum (odnosno, sistemsko vreme i sistemski datum). Date() se može koristiti i kao obicna funkcija (bez new konstruktora). Tada, ako se koristi bez argumenata, vraca nisku koja predstavlja lokalni datum i vreme. Argumenti milisekunde Broj milisekundi izmedu željenog datuma i ponoci 1. januara 1970. po grinickom vremenu. datumkaoniska Argument koji specifikuje datum i, eventualno, vreme kao nisku u obliku mesec dan, godina cas:minuti:sekunde. Na primer: "May 29, 2008 22:05:18" godina Godina kao cetvorocifreni ceo broj. mesec Mesec specifikovan kao ceo broj od 0 (januar) do 11(decembar). dan Dan u mesecu specifikovan kao ceo broj od 1 do 31. cas cas specifikovan kao ceo broj od 0 (ponoc) do 23 (11 uvece). minuti Minuti specifikovani kao ceo broj od 0 do 59. sekunde Sekunde specifikovane kao ceo broj od 0 do 59. Povratna vrednost Novokreirani objekat tipa Data. Primeri upotrebe konstruktora: danas = new Date(); Dan1 = new Date("January 1, 2008 00:00:00"); Dan2 = new Date(2008, 0, 1) ; Dan3 = new Date(2008, 0, 1, 0, 0, 0); Metode getDate() Vraca dan u mesecu objekta tipa Data. getDay() Vraca dan u nedelji objekta tipa Data. getHours() Vraca polje casova objekta tipa Data. getMinutes() Vraca polje minuta objekta tipa Data. getMonth() Vraca polje meseca objekta tipa Data. getSeconds() Vraca polje sekundi objekta tipa Data. getTime() Vraca internu reprezentaciju u milisekundama objekta tipa Data. getTimezoneOffset() Vraca vremensku razliku u minutama izmedu datuma i GMT (grinickog vremena). getFullYear() Vraca 4-cifreno polje godine objekta tipa Data. parse() Parsira reprezentaciju datuma kao niske i vraca isti datum u obliku milisekundi setDate() Postavlja polje dana u mesecu objekta tipa Data. setHours() Postavlja polje casova objekta tipa Data. setMinutes() Postavlja polje minuta objekta tipa Data. setMonth() Postavlja polje meseca objekta tipa Data. setSeconds() Postavlja polje sekundi objekta tipa Data. setTime() Postavlja polja objekta tipa Data koriscenjem formata u obliku milisekundi. setFullYear() Postavlja polje godine objekta tipa Data. toGMTString() Konvertuje datum u nisku koristeci GMT vremensku zonu (grinicko vreme). toLocalString() Konvertuje datum u nisku koristeci lokalnu vremensku zonu. UTC() Konvertuje numericku specifikaciju datuma i vremena u format u obliku milisekundi.
IZBOR POZADINE
SLUČAJNI IZBOR POZADINE-PRIMER UPOTREBE OBJEKTA (Math) u Java Script-u
Pozadina u vidu slike Vaše Web stranice se postavlja unutar HTML oznaka <BODY BACKGROUND="nazivDatotekeSlike" TEXT="#FFFFFF">
gde BACKGROUNDCOLOR oznacava putanju do slike koja se nalazi kao pozadina Vaše Web strane , TEXT oznacava boju slova (od #000000 do #FFFFFF u RGB modelu boja). Vazno je da se za boje teksta i sliku pozadine uzimaju kontrasne boje ili boje sa razlicitim svetlosnim tonom.
Svaki element Web strane predstavlja OBJEKAT JavaScripta. Na primer: window, document, history,... Math objekat je ugrađen u Java Script, te se ne mora zasebno kreirati math objekat (jer postoji u svakom skriptu). Osobine math objekata su matematičke konstante, a metode objekta su matematičke funkcije.
Math konstante
- Math.E - osnova prirodnog logaritma, e
- Math.PI - odnos obima kruga i prečnika ...
Metode
- Math.cos - računa kosinus broja
- Math.max - prihvata dva broja i vraća veći
- Math.abs - računa apsolutnu vrednost broja
- Math.round - zaokružuje na ceo broj
- Math.random - bez argumenta, vraća slučajan broj između 0 i 1 ...
Ako se želi izbeći monotonija web strane koja nema potrebe za čestim ažuriranjem, onda postoji ovakvo rešenje:<HTML>
<HEAD></HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
var podloga1 = "bkgr1.jpg"; /* definisanje mogućih pozadina */
var podloga2 = "bkgr2.jpg";
var podloga3 = "bkgr3.jpg";
var slucajnibroj=Math.round(5*Math.random()); /* slučajni broj između 0 i 5 */
if (slucajnibroj < 2) /* izbor podloge zavisno o slučajnom broju */
podloga = podloga1;
else if (slucajnibroj < 4)
podloga = podloga2;
else
podloga = podloga3;
document.write('<BODY BACKGROUND="'+podloga+'">') /* postavka pozadine */
//-->
</SCRIPT>
</BODY>
</HTML>Datoteka pr25.htm
DIJALOŠKI PROZORI: ALERT, PROMPT, CONFIRM |
<HTML> <HEAD> <SCRIPT language="javascript"> <!-- function main() { window.alert("Zdravo, svete!"); } //--> </SCRIPT> </HEAD> <BODY> <SCRIPT language="javascript">main(); </SCRIPT> </BODY> </HTML>
<HTML><HEAD><TITLE>Prompt i promenljive</TITLE> <META http-equiv=Content-Type content="text/html; charset=iso-8859-2"> <BODY> <SCRIPT language=javascript type=text/javascript> <!-- var x= prompt ("Upisite broj u textbox.","ovde upisite broj"); document.write("Kvadrat broja " + x+ ' = ' + x*x); //--> </SCRIPT> </BODY> </HTML>
Dakle, namena dijaloga ALERT i CONFIRM je dijalog s korisnikom, u smislu da korisniku u posebnom dijalogu (izvan web stranice) se pruža neka informacija.
Ako od korisnika (izvan polja formulara na web stranici) se želi prihvatiti neki podatak, tada se koristiti PROMPT.
U sledećem primeru zastupljena su sva tri navedena dijaloga:
<HTML>
<HEAD></HEAD>
<BODY>
<FORM>
Primer poziva različitih vrsta dijaloga:<br>
<INPUT TYPE="button" VALUE="Dijalog PROMPT!" ONCLICK="prompt('Ovo je dijalog PROMPT!\nUnesite svoje ime:')">
<INPUT TYPE="button" VALUE="Dijalog ALERT!" ONCLICK="alert('Ovo je dijalog ALERT!')">
<INPUT TYPE="button" VALUE="Dijalog CONFIRM!" ONCLICK="confirm('Ovo je dijalog CONFIRM!\n Nastavak?')">
<BR>
</FORM>
</BODY>
</HTML>
U ovim primerima prisutna je obrada dogadjaja "klik na dugme" formulara. Kako se programira reakcija na taj događlaj? Pogledajte u poglavlju Reakcija na događaje u Java Script-uMALO SLOZENIJI PRIMER - REAKCIJA NA DUGMAD OK, CANCEL
POMOĆ: U PRETHODNOM (malo slozenijem) primeru, pozivi dijalog prozora i akcije na dugmad OK, CANCEL su izgledali:<form method="POST" name="mojaForma" style="background-color: rgb(255,255,0); border: 1px double"> <blockquote><b><font size=+0 color="#000000" face="Arial">Primer poziva različitih vrsta dijaloga:</font> </b> <p> <input type="button" value="Dijalog PROMPT!" onclick="if ( (s=prompt('Ovo je dijalog PROMPT!\nUnesite svoje ime:'))) alert('Helooo!!!!' + s); else alert('Ma, dovidjenja!!!!');") style="font-weight: 700"> <input type="button" value="Dijalog ALERT!" onclick="alert('Ovo je dijalog ALERT!')" style="font-weight: 700"> <input type="button" value="Dijalog CONFIRM!" onclick="if(confirm('Ovo je dijalog CONFIRM!\nNastavak?')) alert('Nema nastavka'); else alert('Zasto ste kliknuli na cancel');" style="font-weight: 700"> </font></blockquote> </form>Sta je rezultat rada sledeceg PRIMERA:
//Potvrđivanje: zadavanje OK, Cancel akcija<html><head> <script language="JavaScript" type="text/javascript"> function confirmLink() { if (confirm("Jeste li sigurni da zelite da se povezete na sajt fakulteta?")) { open("http://www.matf.bg.ac.rs"); }} </script> <title> Ovo je strana koja sadrzi JavaScript </title> </head> <body> <a href="http://www.google.com" onClick="confirmLink();">Klikni na adresu pretrage</a>; </body> </html>NAPISATI JAVA SCRIPT PROGRAM KOJI CE KAO REAKCIJA NA DOGADJAJ KLIK SADRZATI CONFIRM DIJALOG i AKO KORISNIK KLIKNE OK, OTVORITI SAJT FAKULTETA, A AKO KLIKNE NA CANCEL, IZDATI ALERT SA PORUKOM ZASTO STE KLIKNULI NA CANCEL?
ISPIS U POLJE FORMULARA-UPOTREBA FORMULARA I FUNKCIJA Nakon što je učitana Web strana, ponekad je zgodno omogućiti posetiocu povratnu informaciju na toj strani. (Na primer, omogućiti posetiocu sabiranje brojeva:)<HTML>
<HEAD>U gornjem primeru funkcija Java Scripta označena je crvenom bojom, a forma iz koje se ta funkcija poziva - zelenom bojom.
<SCRIPT LANGUAGE="JavaScript">
function izracunaj(nazivForme) {
if (confirm("Da li zelite racunanje?")) /* ako korisnik na upit odgovori s "Yes" */
form.rezultatPolje.value = eval(form.upisnoPolje.value) /* upis rezultata u polje formulara */
else
alert("Hvala, zbogom do naredne posete!") /* u suprotnom, daje ovu poruku... */
}
</SCRIPT>
</HEAD><BODY>
<FORM>
Unesite izraz:
<INPUT TYPE="text" NAME="upisnoPolje" SIZE=15 >
<INPUT TYPE="button" VALUE="Izracunaj" onClick="izracunaj(this.form);return true;">
<BR>
Rezultat izraza:
<INPUT TYPE="text" NAME="rezultatPolje" SIZE=15 >
<BR>
</FORM>
</BODY>
</HTML>
Uocite kako se definiše funkcija (izracunaj).
CONFIRM predstavlja dijalog s upitom koji se javlja nakon klika na taster "Izracunaj" a ALERT predstavlja dijalog za odgovor koji se javlja ukoliko u CONFIRM dijalogu posetilac odgovori negativno (sa "No").Gornji kod rezultira formom i poljima:
ISPIS U STATUSNU LINIJU Statusna linija predstavlja deo područja u dnu navigatora u kom su vidljive informacije o URL nekog linka i slično.
Kako statusna linija jeste objekt navigatora, onda se njom može upravljati, odnosno u nju upisivati podatke.Svaki objekat tipa window ima sledeca dva svojstva: status i defaultStatus. Prvi sadrzi sadrzaj statusne linije browser-a, a drugi daje osnovni sadrzaj statusne linije koji se, eventualno, menja pod uticajem nekih dogadjaja.
PRIMER:
<SCRIPT> defaultStatus="Zdravo,svete"; </SCRIPT>Ovaj kratki JavaScript program postavlja nisku "Zdravo,svete" kao osnovni sadrzaj statusne linije.
UmestodefaultStatus
u programu moze da stoji i eksplicitnowindow.defaultStatus
, što znaci da jedefaultStatus
svojstvo prozorawindow
, ali to je i tekuci i jedini otvoreni prozor pa se on ne mora navoditi.Window objekat - prozor ili okvir web-browsera
Korišcenje self (tekuci prozor) window (tekuci prozor) Svojstva closed Bulovska vrednost koja može samo da se cita i koja specifikuje da li je prozor zatvoren. defaultStatus Niska koja može da se cita i u koju može da se piše i koja specifikuje pretpostavljenu vrednost koja se pojavljuje u statusnoj liniji. document Referenca objekta Document koji je sadržan u prozoru. frames[] Niz okvira koji su sadržani u prozoru. history Referenca objekta History za ovaj prozor. java Referenca JavaPackage objekta koji je na vrhu hijerarhije imena paketa za jezgro java* paketa koji cine Java jezik. length Broj elemenata u nizu frames[]. Isto što i frames.length. Može samo da se cita. location Referenca objekta Location za ovaj prozor. Math Referenca objekta koji cuva razlicite matematicke funkcije i konstante. name Niska koja sadrži ime prozora. Ime se, po želji, specifikuje prilikom otvaranja prozora uz pomoc metode open(). navigator Referenca objekta Navigator koji se primenjuje na ovaj i sve ostale prozore. netscape Referenca JavaPackage objekta koji je na vrhu hijerarhije imena paketa za jezgro netscape* paketa od Netscape-a. opener Svojstvo koje može da se cita i u koje može da se piše, a koje referiše objekat Window koji je pozvao open()metod za kreiranje ovog prozora. Packages Referenca JavaPackage objekta koji je na vrhu hijerarhije imena paketa. parent Referenca roditeljskog prozora ili okvira tekuceg prozora. self Referenca samog prozora. Sinonim za window. status Niska koja može da se cita i u koju može da se piše i koja specifikuje tekuci sadržaj statusne linije. sun Referenca JavaPackage objekta koji je na vrhu hijerarhije imena paketa za jezgro sun* paketa koji cine Java jezik. top Referenca prozora na najvišem nivou koji sadrži tekuci prozor. Korisno samo ako je tekuci prozor okvir. window Referenca samog prozora. Sinonim za self. Metode alert() Prikazuje jednostavnu poruku i dijaloškom prozoru. blur() Pomera fokus sa prozora najvišeg nivoa browsera. clearTimeout() Prekida operaciju koja treba da se izvrši po isteku nekog vremena. close() Zatvara prozor. confirm() Postavlja u dijaloškom prozora pitanje koje zahteva odgovor "da" ili "ne". focus() Fokusira prozor koji je na najvišem nivou browsera. open() Kreira i otvara novi prozor. prompt() Traži da unese jednostavna niska u dijaloškom prozoru. scroll() Proizvodi klizanje dokumenta koji je prikazan u prozoru. setTimeout() Izvršava kôd posle isteka nekog specifikovanog vremenskog intervala. Prvi argument funkcije je niska koja predstavlja JavaScript kôd koji treba izvrsiti, a drugi vremenski interval, zadat u milisekundama, posle cijeg isteka taj kôd treba izvrsiti. Obrada dogadaja onblur() Poziva se kada prozor više nije u fokusu. onerror() Poziva se kada dode do greške u izvršavanju JavaScript kôda. onfocus() Poziva se kada se prozor fokusira. onLoad() Poziva se kada je dokument ili skup okvira potpuno ucitann. onUnload() inace
U sledećem primeru se ispisuju podaci u statusnu liniju nakon kliknutog prvog dugmeta formulara i uklanjaju nakon kliknutog drugog dugmeta formulara:Pogedajte primer statbar.html
Ako koristite Firefox i ne vidite pozdravnu poruku iz ovog primera u statusnoj liniji, evo tri nacina da omogucite ispis poruka u statusnoj linij:
- Otvorite u browser-u about:config i u koloni Preference Name pronadjite dom. disable_window_status_change. Promenite vrednost na false (klikom, unosom,...).
- U verzijama zakljucno sa Firefox v1.0, ova promena se moze realizovati preko "Tools -> Options -> Web Features -> Enable JavaScript / Advanced -> cekirajte change status bar text-"
- U verzijama pocev od Firefox v1.5, ova promena se moze realizovati preko "Tools -> Options -> Content -> Enable JavaScript / Advanced -> cekirajte change status bar text"
<html><head> <script language="JavaScript"> <!--skrivanje function f1(tekst) { window.status=tekst;} //--> </script> </head> <body> <form> <input type="button" name="prikaz" value="Prikaz teksta u status bar-u!!!" onClick="f1('Evo poruke za Vas!!!');"> <BR> <BR> <input type="button" name="brisanje" value="Uklonite tekst!!!" onClick="f1('');"> </form> </body> </html>Pogedajte source kôd primera statbar.html i uočite:
- telo funkcije f1 u zaglavlju HEAD
- 1. poziv funkcije u sekciji BODY, argumente prvog poziva
- 2. poziv funkcije u sekciji BODY, argumente drugog poziva
ZA SAMOSTALNI RAD: Napisati JavaScript koji kao pretpostavljenu vrednost statusne linije ispisuje danasnji datum u formi DD/MM/GGGG
<HTML><HEAD><SCRIPT language=javascript type=text/javascript> <!-- function datumustatusu() { var datum = new Date(); var y = datum.getFullYear(); var m = datum.getMonth() + 1; var d = datum.getDate(); var t = d + '/' + m + '/' + y; defaultStatus = "Danas je: " + t; } //--> </SCRIPT></HEAD><BODY onload=datumustatusu()></BODY></HTML>Napisati Java Script fragment koji istovremeno ispisuju tekst Pozdrav i u statusnu liniju i u polje formulara, a nakon 20 sekundi uklanja tekst i izdaje alert poruku.Pogedajte source kôd primera stabar1.htm i uočite:
- telo funkcije ispisi u zaglavlju HEAD
- poziv funkcije setTimeout u telu funkcije ispisi u zaglavlju HEAD
- poziv funkcije ispisi u sekciji BODY, argumente prvog poziva
- telo funkcije obrisi u zaglavlju HEAD
- poziv alert u telu funkcije ispisi u zaglavlju HEAD
- tekstualno polje ciji NAME="ispisnoPolje" u sekciji BODY, i vrednost u funkciji obrisi
<HTML>
<HEAD>
<SCRIPT language="JavaScript">
<!--
function ispisi(tekst, forma) {
window.status = tekst; /* ispis u statusnu liniju */
forma.ispisnoPolje.value = tekst; /* ispis u polje formulara */
setTimeout("obrisi()",20000); /* poziv funkcije "obrisi" nakon 20 sec */
}
function obrisi() {
window.status=""; /*briše ispis u statusnoj liniji */
mojaForma.ispisnoPolje.value = ""; /*briše ispis u polju forme */
alert("Prošlo je 20 sekundi i tekst je obrisan\niz statusne trake i polja forme!");
/* parametar \n određuje prelaz u novi red! */
}
// -->
</SCRIPT>
</HEAD><BODY>
<FORM NAME="mojaForma">
<INPUT TYPE="button" VALUE="Kliknite za ispis teksta pozdrava u statusnu liniju i polje formulara" onClick="ispisi('Pozdrav!',this.form);return true;">
<INPUT TYPE="text" NAME="ispisnoPolje" SIZE=15 >
</FORM>
</BODY>
</HTML>Naredbom window.status = "..." ispisuje se podatak u statusnu liniju.
Funkcijom setTimeout("obrisi()",20000) zadržava se dalje izvršenje za 20 sekundi, nakon čega se poziva funkcija obrisi().
ISPIS DIGITALNOG CASOVNIKA KOJI OTKUCAVA TACNO VREME |
Napisati JavaSkript koji ce prikazivati tacno vreme u obliku: HH:MM:SS, na primer: 08:12:28Pogledajte primer
<HTML><HEAD><TITLE>Casovnik</TITLE> <META http-equiv=Content-Type content="text/html; charset=iso-8859-2"> <SCRIPT language=javascript> <!-- function KucaSat() { var danas = new Date(); var sat = danas.getHours(); var minut = danas.getMinutes(); var sekunda = danas.getSeconds(); var temp = sat; temp += ((minut < 10) ? ":0" : ":") + minut; temp += ((sekunda < 10) ? ":0" : ":") + sekunda; /*u formularu clockForm i njegovo polje vreme postavi vrednost temp*/ document.clockForm.vreme.value=temp; setTimeout("KucaSat()",1000); /*novi poziv f-je KucaSat nakon 1000ms, tj. 1 sekunde, radi promene ispisa tekuceg vremena koje se povecalo za 1 sekundu*/ } --> </SCRIPT> </HEAD> <BODY onload=KucaSat()> <FORM name=clockForm> <INPUT size=35 name=vreme>
</FORM> </BODY> </HTML>