WEBFEJLESZTÉS 2. ŰRLAPOK, KÉPEK, TÁBLÁZATOK, BÖNGÉSZŐ



Hasonló dokumentumok
"Egységes erdélyi felnőttképzés Kárpát-medencei hálózatban" JAVA ALAPÚ WEBPROGRAMOZÁS. M6 Modul: A DOM Modell

HTML, Javascript és az objektumok

Szabadkai Műszaki Szakfőiskola. Web programozás. dr Zlatko Čović

Internet technológiák

HTML. Ismerkedés a JavaScripttel. A JavaScript lehet ségei. A JavaScript kód helye. Önálló JavaScript fájlok

Multimédia 2017/2018 II.

Készítette: Gál Tamás. A tananyag programozott változata itt érhető el: Webfejlesztés

Bevezetés DOM Script beszúrás Szintaxis Események Beépített objektumok. Kliens oldali script nyelvek - JavaScript

12.óra jquery Framework #1. Gyimesi Ákos

Kliens oldali script nyelvek - JavaScript

Kliens oldali script nyelvek - JavaScript. JavaScript. JavaScript. amit nyújt:

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT

Web programozás. 3. előadás

NONPROFIT ÉRDEKVÉDELMI SZERVEZETEK FEJLESZTÉSE (PL.3346) Java-script nyelv. programozás alapjai. Haramia László

Bevezetés Működési elv AJAX keretrendszerek AJAX

Webprogramozás HTML alapok előadás

A JavaScript főbb tulajdonságai

Lássuk, mik azok a szempontok, amelyeket be kell tartanunk egy HTML kód írásánál:

WEB TECHNOLÓGIÁK 4.ELŐADÁS

Programozás s 2 javascript

HTML alapok 1. Minimális HTML file: <HTML> <HEAD> <TITLE> cím </TITLE> </HEAD> <BODY>... </BODY> </HTML> Formátum parancsok:

WEB PROGRAMOZÁS 3.ELŐADÁS. Űrlapok

TEXTAREA++ a JavaScript ereje

Természetesen készíts egy csempe nevű könyvtárat és ide mentsd az index.html állományt.

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

5-ös lottó játék. Felhasználói dokumentáció

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

Web Technológiák. Répási Tibor egyetemi tanársegéd. Miskolc Egyetem,Gépészmérnöki kar, Infomatikai és Villamosmérnöki Tanszékcsoport (IVM)

JavaServer Pages (JSP) (folytatás)

Smalltalk 2. Készítette: Szabó Éva

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Neumann János Számítógép-tudományi Társaság Programozás, robotprogramozás szakkör Három félév 3 * 8 foglalkozás

Az image objektum. Az image eseménykezel i. Képek el zetes betöltése. Feladat. Váltóképek készítése

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Szabadkai Műszaki Szakfőiskola. Web programozás. dr Zlatko Čović

Sakk játék. Feladat: JavaScript segítségével olyan programot kell írni, ami egy sakktáblát szimulál. Kiválasztásra változtatják a helyüket.

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Számológép. Bármilyen számítógépen működik, amin található böngésző és Java alkalmazás. Indító képernyő

AJAX Framework építés. Nagy Attila Gábor Wildom Kft.

A Http és a PHP kapcsolata. Web-Sky Consulting Kft Tóth Imre 2009

WEB TECHNOLÓGIÁK 2.ELŐADÁS

HTML, XML szerkesztés

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

10.óra CodeIgniter Framework #3. Gyimesi Ákos

7. Előadás. Makrók alkalmazása. Salamon Júlia. Előadás I. éves mérnök hallgatók számára

HTML kódok. A www jelentése World Wide Web.

Webkezdő. A modul célja

DINAMIKUS MULTIMÉDIÁS TARTALOM...

Objektumorientált programozás

WEBFEJLESZTÉS 2. ADATTÁROLÁS, FÁJLOK

A JavaScript. Kovács Botond. Matematika-Informatika 641. Kolozsvár

Jquery. Konstantinusz Kft.

Webes űrlapok és az XForms ajánlás

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET) Cserép Máté.

Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv

JavaScript változók Number Stringek:

Sakk-játék. Bármilyen számítógépen működik, amin található böngésző és Java alkalmazás. Indító képernyő

Weblap készítése. Fapados módszer

Kompozit alkalmazások fejlesztése. IBM WebSphere Portal Server

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

Interaktív weboldalak készítése

Villamosmérnöki szak Alkalmazott informatika mellék szakirány Laboratórium II. (VIAU5102) World Wide Web lapok készítése (Silabusz)

WEBFEJLESZTÉS 2. MUNKAMENET-KEZELÉS, HITELESÍTÉS

SZERVER OLDALI JAVASCRIPT. 3. hét Javascript nyelvi elemek

Algoritmusok Tervezése. 5. Előadás Visual Basic 2. Dr. Bécsi Tamás

HTML é s wéblapféjlészté s

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

3. modul - Szövegszerkesztés

WEBES ALKALMAZÁSFEJLESZTÉS 1.

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET)

Az Educatio weboldalain elhelyezhető hirdetések technikai paraméterei

Programozási nyelvek Java

ÁLTALÁNOS WEBLAPSZERKESZTÉSI TUDNIVALÓK ÁLTALÁNOS HTML KÓDOLÁSI TUDNIVALÓK

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

Java grafikai lehetőségek

Összefüggő szakmai gyakorlat témakörei évfolyam. 9. évfolyam

Memória játék. Felhasználói dokumentáció

Összefüggő szakmai gyakorlat témakörei. 13 évfolyam. Információtechnológiai gyakorlat 50 óra

A szerzõrõl... xi Bevezetés... xiii

bb témakörök Programozás JavaScript nyelven A JavaScript szerepe Kliensoldali szkript alkalmazása JavaScript a weboldalon

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

WEBSZERKESZTÉS ELMÉLETI VIZSGAKÉRDÉSEK

BASH script programozás II. Vezérlési szerkezetek

Pick Pack Pont kereső és boltválasztó alkalmazás

10. évfolyam 105 óra azonosító számú Hálózatok, programozás és adatbázis-kezelés 105 óra Adatbázis- és szoftverfejlesztés gyakorlat tantárgy

Akadálymentes weboldalkészítés dióhéjban

Rajz 06 gyakorló feladat

Tájékoztató. Használható segédeszköz: -

HTML ALAPOK. Abonyi-Tóth Andor, ELTE IK

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7

A HTML5 hirdetések előkészítéséhez szükséges műszaki előírások

HTML parancsok (html tanfolyam témakörei)

PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig

API tervezése mobil környezetbe. gyakorlat

WEBES ALKALMAZÁSFEJLESZTÉS 1.

Választó lekérdezés létrehozása

Széchenyi István Egyetem. Műszaki Tudományi Kar. Informatikai és Villamosmérnöki Intézet Távközlési Tanszék. Villamosmérnöki szak HTML

Átírás:

WEBFEJLESZTÉS 2. ŰRLAPOK, KÉPEK, TÁBLÁZATOK, BÖNGÉSZŐ Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816

2 Ismétlés

JavaScript programozás 3 JavaScript C++ Vezérlési szerkezetek Operátorok Függvények Adatszerkezetek Elemi típusok Összetett típusok: tömb, objektum JSON

HTML és JavaScript webprogramozás 4 Elemek elérése document.getelementbyid $() Elemek tulajdonságai Eseménykezelés addeventlistener HTML és JavaScript szétválasztása HTML Megjelenített dokumentum DOM JavaScript interfész JavaScript

Események, nyelvi elemek 5 Eseménykezelés részletei Eseményt jelző objektum this Eseményobjektum megszerzése tulajdonságai Alapértelmezett művelet megakadályozása Események buborékolása Eseményt eredetileg jelző objektum Buborékolás megállítása Globális függvények és értékek NaN, isnan(), Infinity, isfinite() parseint(), parsefloat() encodeuri(), decodeuri() Beépített objektumok Math Date String Array

6 DOM műveletek

DOM-ok 7 DOM Core csomópontok fája ábrázolás művelet HTML DOM HTML elemek fája speciális elemek többletfunkcionalitás Speciális elemek Űrlapok Képek Táblázatok

DOM-ok 8 Document HTMLDocument HTMLHtmlElement HTMLHeadElement Node Element HTMLElement HTMLBodyElement HTMLParagrapghElement CharacterData Text HTMLDivElement Comment...

DOM 9 Document Object Model HTML és XML dokumentumok programozási felülete Objektumstruktúra, faszerkezet DOM csomópontok dokumentum elem attribútum szöveges csomópont

Példa 10 <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title></title> </head> <body> <p id="par1">bekezdés.</p> <p class="aktiv">még egy bekezdés.</p> <ul> <li>első</li> <li class="aktiv">második</li> </ul> <form name="form1"> <input type="radio" name="r1" value="elso"> <input type="radio" name="r1" value="masodik"> </form> </body> </html>

11 Példa DOM fája

Műveletcsoportok 12 Elemek kiválasztása Szerkezet bejárása Szerkezet módosítása attribútumok új elem/attribútum létrehozása módosítás törlés

Elemek kiválasztása 13 document getelementbyid(id) getelementsbyname(név) document/elem getelementsbytagname(elemnév) getelementsbyclassname(stílusosztályok) queryselector(css_szelektor) queryselectorall(css_szelektor)

14 console.log(document.getelementbyid('par1')); console.log(document.getelementsbyname('r1')); console.log(document.getelementsbytagname('p')); console.log(document.getelementsbyclassname('aktiv')); console.log(document.queryselector('ul > li')); console.log(document.queryselectorall('ul > li')); var body = document.body; console.log(body.getelementsbytagname('p')); console.log(body.getelementsbyclassname('aktiv')); console.log(body.queryselector('ul > li')); console.log(body.queryselectorall('ul > li')); <body> <p id="par1">bekezdés.</p> <p class="aktiv">még egy bekezdés.</p> <ul> <li>első</li> <li class="aktiv">második</li> </ul> <form name="form1"> <input type="radio" name="r1" value="elso"> <input type="radio" name="r1" value="masodik"> </form> </body>

Szerkezet bejárása 15 Bejárás (elem.tulajdonság) gyerekek childnodes, firstchild, lastchild szülő parentnode testvérek nextsibling, previoussibling Szöveges csomópontok is megjelennek nodetype === 3

Szerkezet módosítása 16 Attribútumok (elem) getattribute(név), setattribute(név, érték), hasattribute(név), removeattribute(név) Törlés, beszúrás (elem) removechild(elem), appendchild(elem), replacechild(elem, elem) Létrehozás document.createelement(elem) (elem.innerhtml) var p = document.createelement('p'); p.innerhtml = 'Új bekezdés'; p.setattribute('class', 'aktiv'); document.body.appendchild(p);

17 Űrlap és űrlapelemek

Tipikus űrlapműveletek 18 Interakció egyik legfontosabb eszköze az űrlap Adatok beolvasása, megadása Adatok ellenőrzése Referencia https://developer.mozilla.org/en- US/docs/Gecko_DOM_Reference

Űrlap tulajdonságai, metódusai, 19 eseményei <form> elem Tulajdonságai (analóg módszer) action method enctype name target Események submit (megállítható) reset Metódusok submit() reset()

Input elem 20 <input> type attribútuma jellege Közös tulajdonságai name form value defaultvalue disabled tabindex Közös metódusok focus() blur() select() click() Események click change focus blur

Szöveges beviteli mező(k) 21 type text password Tulajdonságok value readonly size maxlength

Checkbox 22 <input type="checkbox"> Jelölőmező Legfontosabb tulajdonság: checked írható, olvasható logikai érték defaultchecked

Radio gombok 23 <input type="radio"> name attribútum fogja össze őket Legfontosabb tulajdonsága: checked írható, olvasható logikai érték defaultchecked Melyik van kiválasztva? id alapján nehézkes name alapján kell

Radio gombok 24 <form id="form1"> <input type="radio" name="alma" value="piros"> <input type="radio" name="alma" value="sárga"> <input type="radio" name="alma" value="zöld" checked> <input type="radio" name="alma" value="barna"> </form>

Radio gombok 25 Name alapján document.getelementsbyname(nev) function radioerteke(nev) { var radiok = document.getelementsbyname(nev); var ertek; var i = 0; while (i < radiok.length &&!radiok[i].checked) { i = i + 1; } if (i < radiok.length) { ertek = radiok[i].value; } return ertek; }

Radio gombok 26 Name alapján document.getelementsbyname(nev) function radioerteke(nev) { var radiok = document.getelementsbyname(nev); for (var i = 0; i < radiok.length; i++) { if (radiok[i].checked) { return radiok[i].value; } } return undefined; } //Használata radioerteke('alma'); //"zöld"

Radio gombok 27 Name alapján document.getelementsbytagname(nev) elem.getelementsbytagname(nev) function radioerteke(nev, urlapazon) { var tarto = urlapazon?document.getelementbyid(urlapazon):document; var inputok = tarto.getelementsbytagname('input'); var ertek; var van = false; var i = 0; while (!van && i < inputok.length) { van = inputok[i].name == nev && inputok[i].checked; ertek = inputok[i].value; i = i + 1; } return ertek; }

Legördülő mező 28 <select> elem Tulajdonságai multiple size value selectedindex options tömb options.length options[i] options[i].value options[i].text options[i].selected Metódusok add(elem[, elemelé]) remove(index)

Legördülő mező 29 <select id="select1"> <option value="ertek1">szöveg1</option> <option value="ertek2">szöveg2</option> <option value="ertek3" selected>szöveg3</option> <option value="ertek4">szöveg4</option> </select>

Legördülő mező 30 Kiválasztott opció indexe, értéke, szövege var select = document.getelementbyid('select1'); select.value; //"ertek3" select.selectedindex; //2 select.options[select.selectedindex].value; //"ertek3" select.options[select.selectedindex].text; //"szöveg3"

Legördülő mező 31 Kiválasztott opció adatai function kivalasztottopcio(select) { if (select && select.selectedindex > -1) { return { value: select.value, text: select.options[select.selectedindex].text, index: select.selectedindex }; } return {}; } //Használata var select = document.getelementbyid('select1'); kivalasztottopcio(select); //Object {value: "ertek3", text: "szöveg3", index: 2}

Legördülő mező 32 Új opció hozzáadása //Új elem hozzáadása DOM műveletekkel function ujopcio(select, szoveg, ertek) { var ujop = document.createelement('option'); ujop.value = ertek; ujop.text = szoveg; select.add(ujop, null); } //vagy //Új elem hozzáadása innerhtml segítségével function ujopcio(select, szoveg, ertek) { var ujop = '<option value="' + ertek + '">' + szoveg + '</option>'; select.innerhtml += ujop; } //Használata var select = document.getelementbyid('select1'); ujopcio(select, 'új szöveg', 'ujertek');

Legördülő mező 33 Opció törlése function torolopcio(select, i) { select.remove(i); } //Használata var select = document.getelementbyid('select1'); torolopcio(select, 3);

Legördülő mező 34 Többszörös választás esetén <select id="select1" multiple size="4"> <option value="ertek1" selected>szöveg1</option> <option value="ertek2">szöveg2</option> <option value="ertek3" selected>szöveg3</option> <option value="ertek4">szöveg4</option> function kivalasztottopciok(select) { </select> } var ertekek = []; for (var i = 0; i < select.options.length; i++) { if (select.options[i].selected) { ertekek.push(select.options[i].value); } } return ertekek; //Használata var select = document.getelementbyid('select1'); kivalasztottopciok(select); //["ertek1", "ertek3"]

Többsoros szöveges beviteli mező 35 <textarea></textarea> Tulajdonságok value defaultvalue

36 Képek

Képek 37 <img src="kep.png" alt="szöveg" > Legfontosabb tulajdonsága: src Dinamikusan lecserélni a képet Minden egyéb általában stílusmanipuláció Tipikus képműveletek Kép lecserélése Kép előtöltése

Kép lecserélése 38 src attribútumának megváltoztatása <img src="alma.png" alt="alma" id="kep1"> var kep = document.getelementbyid('kep1'); kep.src = 'korte.png'; Hátránya: a kép letöltése a szerverről ekkor kezdődik el lassú lehet felhasználói élmény csökken Kép előtöltése

Kép előtöltése 39 Egy memóriabeli kép objektumba előre betöltjük a képet, így cserekor az azonnal rendelkezésre áll. Sok képet nem érdemes előre betölteni. Inkább folyamatosan töltsük be őket. var mem_kep = document.createelement('img'); mem_kep.src = 'korte.png'; //... //ha szukseges a csere: var kep = document.getelementbyid('kep1'); kep.src = mem_kep.src;

40 Táblázatok

Sorok és cellák kezelése 41 Táblázat rows insertrow(index) deleterow(index) Sor rowindex sectionrowindex cells insertcell(index) deletecell(index) Cella cellindex x-y koordináta: function xykoord(td) { var x = td.cellindex; var tr = td.parentnode; var y = tr.sectionrowindex; return { x: x, y: y }; }

42 BOM Browser Object Model A böngészővel kapcsolatos objektumok, metódusok

A böngészőablak 43 BOM DOM

Browser Object Model BOM 44 BOM: a böngészőablaknak megfelelő objektumhierarchia https://developer.mozilla.org/en- US/docs/DOM/window window location history screen frames document = DOM

Méretek és pozíció 45 window innerheight, innerwidth a tartalmi rész magassága és szélessége outerheight, outerwidth a böngészőablak magassága és szélessége screenx, screeny az ablaknak a főképernyőtől bal felső sarkától való távolsága scrollx, scrolly hány pixelnyire van gördítve a dokumentum scrollmaxx, scrollmaxy legfeljebb hány pixelnyit lehet gördíteni a dokumentumot

Méretek és pozíció 46 window.screen (az ablakhoz kapcsolódó képernyő) width, height a képernyő szélessége és magassága availwidth, availheight a képernyő rendelkezésre álló szélessége és magassága top, left, availtop, availleft, colordepth, pixeldepth ld. dokumentáció

Méretek és pozíció 47 window metódusok resizeto(szél, mag), resizeby(dszél, dmag) ablak átméretezése (megkötésekkel) moveto(x, y), moveby(dx, dy) ablak áthelyezése (megkötésekkel) scrollto(x, y), scrollby(dx, dy), scrollbylines(l), scrollbypages(p) a dokumentum görgetése adott pozícióra vagy valamennyivel

Új ablak 48 window.open var w = window.open(url, név, tulajdonságok); Paraméterek url: a betöltendő oldal URL-je ha üres üres ablak név: az új ablak neve ha létezik ebbe töltődik bele az url "_blank" új ablak nyílik tulajdonságok: ablaknyitási paraméterek

Új ablak 49 Ablaknyitási paraméterek https://developer.mozilla.org/en- US/docs/DOM/window.open "width=800,height=600,scrollbars=yes" ha üres új fül vagy alapértelmezett értékek ha nem üres akkor a nem megadott tulajdonságok automatikusan kikapcsoltak lesznek var w = window.open( 'http://www.elte.hu', 'ELTEablak', 'width=800,height=600,scrollbars=yes' );

Új ablak 50 Ablaknyitási paraméterek top, left width, height menubar, toolbar, location, status scrollbars

51 Új ablak

Új ablak 52 A window.open() által visszaadott objektum az új ablak window objektuma var w = window.open(url, név, tulajdonságok); w mindent tud, amit a window w.document, w.document.writeln() w.resizeto(szél, mag) stb, stb, stb.

Új ablak 53 Szülő ablak elérése a gyerekablakból w.opener Gyerekablak elérése a szülőablakból megnyitáskor visszaadott változó tárolása (w) hivatkozás újbóli megszerzése var w = window.open('', létező_név);

Oldal URL-je 54 window.location A betöltött oldal URL-jével kapcsolatos információk hash, host, hostname, href, origin, pathname, port, protocol, search http://webprogramozas.inf.elte.hu:8080/webfejl2.html?alma=piros#valami var l = window.location; l.hash; //"#valami l.host; //"webprogramozas.inf.elte.hu:8080 l.hostname; //"webprogramozas.inf.elte.hu l.href; //az egész URL l.origin; //"http://webprogramozas.inf.elte.hu:8080" l.pathname; //"/webfejl2.html l.port; //"8080 l.protocol; //"http: l.search; //"?alma=piros"

Oldal URL-je 55 window.location szöveget kapva értékül megpróbálja a szövegként megadott oldalt betölteni assign(url), replace(url), reload() window.location = "http://www.elte.hu"; window.location.href = "http://www.elte.hu"; window.location.assign("http://www.elte.hu"); window.location.replace("http://www.elte.hu"); window.location.reload();

Előzmények 56 window.history back() forward() go(n) window.history.back(); window.history.forward(); window.history.go(-3);

Keretek 57 Keretek: több HTML oldal több window objektum window.frames Adott ablak alá közvetlen tartozó ablakok window.frames[0] window.frames['nev'] window.parent A közvetlen felette lévő ablak window.top A legfelső ablak frame.html bal.html jobb.html felso.html also.html

Keretek 58 window.frames.length; window.frames[0]; window.frames['bal']; window.frames['bal'].frames['felso'] window.frames['bal'].frames['felso'].top frame.html bal.html jobb.html felso.html also.html

További window tulajdonságok 59 Tulajdonság name navigator status Események onload, onunload onabort, onclose oncontextmenu onresize, onscroll, onselect Metódusok alert, confirm, prompt settimeout, setinterval cleartimeout, clearinterval close print

Összefoglalás 60 DOM faszerkezet elérés, bejárás, módosítás HTML DOM űrlapok képek táblázatok BOM