ISPIS U DOKUMENT |
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: 10/20/2003 15:50:23
kraj primera
Naredbom document.write(...) unutar Java Scripta se u dokument ispisuje HTML kod ili korisnički tekst.
U gore navedenom primeru funkcija 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 (+).
ISPIS U POLJE FORMULARA |
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>
Unesiteizraz:
<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 odogovori 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.
U sledećem primeru istovremeno se ispisuju podaci i u statusnu liniju i u polje formulara:<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()",5000); /* poziv funkcije "obrisi" nakon 5 sec */
}
function obrisi() {
window.status=""; /*briše ispis u statusnoj liniji */
mojaForma.ispisnoPolje.value = ""; /*briše ispis u polju forme */
alert("Prošlo je 5 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="Ispis 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()",5000) zadržava se dalje izvršenje za 5 sekundi, nakon čega se poziva funkcija obrisi().
ALERT, PROMPT, CONFIRM |
ALERT i CONFIRM dijalozi su već prikazani u prethodnim primerima. Dakle, njihova svrha 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 objekta:
<HTML>
<HEAD></HEAD>
<BODY>
<FORM>
Primjer 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>
OTVARANJE PROZORA I OBJEKTI UNUTAR NJEGA Kontrola otvaranja prozora se realizuje na sledeći način:window.open("proba.htm", "naziv", "menubar=no, toolbar=no, location=no, directories=no, status=no, scrollbars=yes, resizable=yes, copyhistory=no, width=400, height=100");
Unutar window.open(...) postoje tri para navodnika (označeni različitim bojama), unutar kojih se nalaze sledeći podaci:
- unutar prvog para navodnika upisuju se link na .html stranicu koju se želi otvoriti (ili ostavimo prazno za blank);
- unutar drugog para navodnika upisujemo opcionalni naziv stranice (nije obavezno);
- unutar trećeg para navodnika upisujemo objekte browsera koje želimo uključiti (=yes) ili isključiti (=no), te definišemo veličinu novog prozora. Evo popisa nekih od tih objekata:Postoji i određeni broj funkcija pomoću kojih se mogu saznati neki podaci ili postaviti određeni parametar:
OBJEKT OBJAŠNJENJE OBJEKT OBJAŠNJENJE menubar - meni u browseru (File, Edit...) scrollbars - klizači unutar prozora toolbar - funkcijske ikonice u navigatoru resizable - mogućnost promene veličine location - prozorčić za upis lokacije copyhistory - praćenje kretanja (history) directories - meni za direktorijume width - širina prozora (u pixelima) status - statusna linija (dole) heigh - visina prozora (u pixelima) Primer otvaranja proyora:
FUNKCIJA OBJAŠNJENJE FUNKCIJA OBJAŠNJENJE window.location - lokacija dokumenta screen.height - visina prozora window.resizeTo(x,y) - povećaj prozor DO x,y screen.width - širina prozora window.moveTo(x,y) - premjesti prozor NA x,y screen.availHeigh - preostala moguća visina window.resizeBy(x,y) - povećaj prozor ZA x,y pix. screen.availWidth - preostala moguća širina setTimeout("funkcija()",50) - poziv funkcije nakon 50 ms href="javascript:funkcija()" - poziv funkcije kao linka <HTML>
<HEAD>
<TITLE></TITLE><SCRIPT LANGUAGE="JavaScript">
<!--
function otvoriProzor() {
window.open("", "", "toolbar=no, location=no, directories=no, status=no, scrollbars=no, width=400, height=100");
return false;
}
-->
</SCRIPT>
</HEAD>
<BODY>
Ovo je primjer <A HREF="" onClick = "return otvoriProzor()">otvaranja prozora.</A>
</BODY>
</HTML>Dakle, u gornjem primjeru definisana je funkcija otvoriProzor() koja otvara prozor veličine 400x100 pixela, bez toolbara, scrollbara, prozora za lokaciju i statusne trake...
Samu funkciju pozivamo sa onClick="return otvoriProzor()" unutar <A HREF=...> (onClick svojstvo se aktivira kada kliknemo mišem na dati link).
OTVARANJE PROZORA I ISPIS U NJEGA Naravno, od samog otvaranja prozora i ne bi imali neke koristi ako u njega ne bi mogli nešto i upisati...
Podatke upisujemo naredbom:
document.write("...tekst ili html naredbe...");Primer otvaranja prozora i upisa u njega:
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function otvoriProzor() {
noviProzor = window.open(""', ""', "toolbar=no, location=no, directories=no, status=no, width=400, height=100");
text = "Prvi red teksta u novom prozoru.<BR><B>Drugi red teksta.</B><BR>Treći red..."
noviProzor.document.write(text);
return false;
}
-->
</SCRIPT>
</HEAD><BODY>
Ovo je primer otvaranja <A HREF="" onClick="return otvoriProzor()">prozora</A> i upis podataka u njega.
</BODY>
</HTML>U gornjem primeru željeni tekst (u kombinaciji s HTML kodom!) je najpre postavljen u promenljivu text, a potom ispisan funkcijom noviProzor.document.write(text)...
PRIMER SLOŽENIJEG PROZORA Ono što je do sada prikayano ukazuje i kako napraviti i nešto nalik na CGI-BIN skript...
Evo jednog primera u kom se prikazuje kako otvoriti složeniji prozor, prenositi parametre, itd:<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
var noviProzor;
function slozeniProzor(mojTekst, slikaPozadine, bojaTeksta, vrstaSlova, velicinaSlova) {
var ime = prompt("Upiši svoje ime:", "xxx")
noviProzor = window.open('', '', 'toolbar=no, location=no, directories=no, status=no, scrollbars=yes, resizable=yes, copyhistory=no, width=400, height=200');
text = "<HTML><HEAD><TITLE>Primjer SLOŽENOG prozora</TITLE></HEAD>";
text +="<BODY BACKGROUND='" + slikaPozadine + ">";
text +="<CENTER>";
text +="<H1>Bok, " + ime + "</H1><HR>";
text +="<FONT FACE='" + vrstaSlova + "'";
text +=" SIZE='" + velicinaSlova + "'";
text +=" COLOR='" + bojaTeksta + "'>";
text += mojTekst
text +="</CENTER></FONT>";
text += "</BODY></HTML>";
noviProzor.document.write(text);
noviProzor.focus();
noviProzor.document.close();
return false;
}
-->
</SCRIPT>
</HEAD><BODY>
Primer otvaranja <A HREF="" onClick="return slozeniProzor('Tekst u novom prozoru...', 'js-bkgr1.jpg', '#000000', 'Times New Roman', 5)">složenijeg</A> prozora.<BR><BR>
</BODY>
</HTML>U gornjem primeru onClick poziva funkciju slozeniProzor() i prenosi joj sledeće parametre (označene zelenom bojom), redom:
Nadalje, prompt upit u funkciji slozeniProzor() omogućava nam da od korisnika prihvatimo neki podatak i potom ga ispišemo u naš dokument.
- mojTekst - tekst koji će se pojaviti u novom prozoru
- slikaPozadine - slika za podlogu novog prozora
- bojaTeksta - boju teksta u novom prozoru
- vrstaSlova - vrstu slova u novom prozoru
- velicinaSlova - veličinu slova u novom prozoru
PRIMER UPISA IZ TEKSTUALNE DATOTEKE I ZATVARANJA PROZORA Primer u kom se može videti kako u prozor učitati tekst iz neke datoteke i kako prozor zatvoriti:<HTML>
<HEAD>
<title>DOPISNA ŠKOLA Java Scripta --- Vježba 2.d</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<SCRIPT LANGUAGE="JavaScript">
function zatvoriProzor() {
mojProzor = this.window;
mojProzor.close();
return false;
}
function otvoriProzor() {
window.open("js-vje2d.txt", "", "toolbar=no, location=no, directories=no, status=no, menubar=no, scroolbars=yes, width=400, height=200")
return false;
}
</SCRIPT>
</HEAD><BODY>
Primer otvaranja i zatvaranja prozora...<br><br>
<A HREF="" onClick="return otvoriProzor()">Otvori novi prozor</A><BR><BR>
<A HREF="" onClick="return zatvoriProzor()">Zatvori glavni prozor</A><BR><BR>
</BODY>
</HTML>