Nume Tutorial:DOM - Modelul Obiectului Document
Descriere:DOM - Modelul Obiectului Document
Download:
Autor:
Sursa (Link-ul oficial):
Propria parere:Enjoy!
Tutorialul:
In ierarhia prezentata mai sus observati ca obiectele sunt structurate pe 3 nivele principale.
Obiectul "window" este considerat pe cel mai inalt nivel, urmeaza apoi obiectele de pe nivelul I, nivelul II si nivelul III.
Obiectul din nivelul 1, de exemplu "document", contine obiectele din nivelul 2 (de ex. "forms[]) care la randul lor pot contine alte obiecte, de nivel 3 (de ex. "Buttons"). Astfel, in JavaScript, continerea este principiul conform caruia un obiect contine alt obiect. De exemplu relatia dintre obiectul "Form" si obiectul "Button" nu este una dintre clasa si subclasa, ci una intre container si continut. Prin urmare, un obiect nu poate mosteni proprietatile si metodele altui obiect.
1. Obiecte pe partea de client
Elementele principale legate de lucrul pe partea de client din JavaScript se axeaza pe ceea ce putem face cu paginile HTML, mai exact - ceea ce poate face vizitatorul cu scriptul Javascript incarcat in pagina HTML.
Primul set de obiecte are o legatura cu navigatorul si cu etichetele HTML din acesta.
Puteti accesa sau transfera continutul unei eticheta HTML (de exemplu dintr-un <div> ... </div>) utilizand id-ul acesteia, folosind expresia:
nume_var = document.getElementById("id").innerHTML;
- sau
nume_var = document.getElementById("id").childNodes[0].nodeValue;
- Aici, "nume_var" este o variabila care preia continutul incadrat de tag-ul HTML care are atributul id="id".
Pentru a schimba sau adauga continut intr-un element HTML cu un id specific, folositi expresia de mai sus in sens invers, adica:
document.getElementById("id").innerHTML = "continut"
Unde "id" este valoarea atributului "id" din etiheta HTML respectiva iar "continut" este continutul (text, tag-uri) care va fi adaugat in aceasta eticheta HTML (va inlocui orice alt context care se afla in cadrul acestui element HTML).
Majoritatea obiectelor JavaScript din nivelul 2 sunt vazute ca obiecte ale tag-urilor HTML, dupa cum puteti observa in lista de mai jos, in care sunt prezentate obiectele JavaScript si etichetele HTML corespunzatoare:
Button - <input type="button">
Checkbox - <input type="checkbox">
Hidden - <input type="hidden">
Fileupload - <input type="file">
Password - <input type="password">
Radio - <input type="radio">
Reset - <input type="reset">
Select - <select>
Frame - <frame>
Document - <body>
Layer - <layer> sau <ilayer>
Link - <a href="">
Image - <img>
Area - <map>
Anchor - <a name="">
Applet - <applet>
Plugin - <embed>
Form - <form>
Submit - <input type="submit">
Text - <input type="text">
Textarea - <textarea>
Option - <option>
2. Exemplu script
Urmatorul script este un exemplu practic de folosire a ierarhiei DOM din JavaScript si elementele HTML.
Cu ajutorul acestui script puteti prelua datele (textul) din interiorul unui "<div> ... </div>" pentru a le adauga intr-o caseta <textarea>, astfel aceste date pot fi usor trimise la un script PHP.
<html>
<head>
<title>Script JS</title>
<script type="text/javascript">
<!--
function CitesteDiv(){
valDiv = document.getElementById("div_id").childNodes[0].nodeValue;
document.formular.text.value = valDiv;
}
// -->
</script>
</head>
<body>
<div id="div_id">Aici este textul din interiorul Div-ului</div>
<form action="fisier.php" method="post" name="formular">
<textarea cols="30" rows="5" name="text" id="textul"></textarea> <br>
<input type="button" value="Adauga" onclick="CitesteDiv();" />
<input type="submit" value="Trimite" />
</form>
</body>
</html>
- Daca apasati butonul "Adauga", textul din interiorul etichetei <div> ... </div> va fi introdus in formular cara apoi prin apasarea butonului "Trimite" poate fi trimis la un script PHP (aici "fisier.php").
- Exemplu 2
Iata un alt exemplu, cu o actiune inversa celui de sus. Adica, textul introdus intr-un camp textarea, dupa apasarea unui buton va fi inclus in pagina in cadrul unei etichete HTML <div>, fara ca pagina sa fie reincarcata.
Retineti, aceasta actiune este pe partea de client, vizibila doar de utilizatorul actual, nu modifica pagina originala de pe server si dupa inchiderea navigatorului textul introdus dispare.
<html>
<head>
<title>Script JS</title>
<script type="text/javascript">
<!--
function ScrieDiv(){
valText = document.formular2.text2.value;
document.getElementById("div_id2").innerHTML = valText;
}
// -->
</script>
</head>
<body>
<div id="div_id2">Aici va apare textul din formular</div><br>
<form name="formular2">
<textarea cols="30" rows="5" name="text2" id="textul2"></textarea> <br>
<input type="button" value="Afiseaza" onclick="ScrieDiv();" />
</form>
</body>
</html>
- Am definit functia "ScrieDiv()" care va fi apelata la apasare butonului "Afiseaza". In interiorul acestei functii avem variabila "valText" care (prin codul "document.formular2.text2.value") preia sirul adaugat in campul "text2" din formular, apoi, prin comanda "document.getElementById("div_id2").innerHTML" transfera si afiseaza sirul in cadrul etichetei <div>, inlocuindu-l pe cel existent.
Acest cod va afisa in pagina urmatorul rezultat:
- [EuropaCs] Zona Administrativa
- - Regulament
- - Anunturi
- - Esti nou? Prezinta-te!
- - Cerere DNS
- - Cerere Parteneriat
- - Propuneri forum
- - Recomandari
- - Evenimente
- - - Big Events
- - - Proiecte
- - - Concursuri
- - - Evenimente Externe
- - Zona Staff
- - - Reclamatii
- - - Absente/Retrageri Staff
- - - Adunare Staff
- - - Adunarea Designerilor
- - - Adunarea Detinatorilor
- - - Adunarea Managerilor
- - - Adunarea Moderatorilor
- - - Adunarea Mod. G.
- - - Adunarea Conducerii
- - - ePoints
- - - ePremium
- - - Productii
- - - Pareri Staff
- - Zona Cererilor
- - - Cerere Admin Server
- - - Cerere Moderator
- - - Cerere Manager Resurse
- - - Cerere Designer
- - - Cerere Moderator Global
- - - Cerere Schimbare Nume
- - - Cerere Adaugare Warn
- - - Cerere Scoatere Warn
- - - Cerere Adaugare Ban
- [EuropaCs] Servere
- - ZmX.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea serverului
- - - Cereri Admin/Slot/VIP
- - - Obligatii Admin/Slot/VIP
- - - Cereri Marire Grad
- - - Cereri Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista Ban-uri
- - - Cereri Ban
- - - Cereri Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare probleme
- - - Discutii
- - - Arhiva serverului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Status
- [EuropaCs] Tutoriale, Resurse, Suport
- - Tutorial si Resurse Counter Strike 1.6
- - - Tutoriale Counter Strike 1.6
- - - Tutoriale Mapping
- - - Resurse Counter Strike 1.6
- - - - Config-uri
- - - - Addons-uri
- - - - Pluginuri
- - - - Moduri
- - - - Kit-uri Cs
- - - - Servere gata facute
- - - - Harti
- - - - Server Creator
- - - - Skin-uri
- - - - Script-uri
- - - - Sunete
- - - - Programe Folositoare
- - - - Tatuaje
- - - - Anticheat
- - Tutoriale si Resurse Counter-Strike:Global Offensive
- - - Tutoriale Counter-Strike:Global Offenisve
- - - Resurse Counter-Strike:Global Offensive
- - - - Pluginuri
- - - - Harti
- - - - Script-uri
- - - - Programe Folositoare
- - - - Mod-uri
- - - - Addons-uri
- - - Arhiva Resurse
- - Suport Counter-Strike
- - - Cerere Addons-uri
- - - Cerere Pluginuri
- - - Cerere Config-uri (CFG)
- - - Cerere Motd-uri
- - - Cerere Tutoriale
- - - Probleme Servere
- - - Problema Pluginuri
- - - Problema Client (Joc)
- - - Diverse Probleme
- - Tutoriale si Resurse WEB
- - - Design si WebSite Review
- - - Index-uri ( Intro)
- - - Script-uri
- - - Script-uri Gratis
- - - Teme phpBB3
- - - Resurse Web
- - - Tutoriale HTML
- - - Tutoriale PHP
- - - Tutoriale JS
- - - Tutoriale CSS
- - - Tutoriale C / C++ / C#
- - Asistenta Counter-Strike | EuropaCs
- - - Anunturi
- - - Addons-uri Configurate de EuropaCs
- - - Pachete de Harti (Mape)
- - - Tutoriale Forum Originale
- - - Tutoriale Counter Strike Originale
- - - Pluginuri Recomandate
- [EuropaCs] Design 2D & 3D
- - Tutoriale si Resurse
- - - Tutoriale 2D & 3D
- - - Resurse
- - Creatii 2D & 3D
- - Cereri 2D & 3D
- - Provocari
- - Competitii
- - - Competitii EuropaCs
- - Cadouri
- - Diverse
- [EuropaCs] Cafenea
- - Jocuri
- - - Reviews Jocuri
- - - Giveaways
- - - Probleme si Intrebari
- - - Discutii
- - Zona IT
- - - Tutoriale IT
- - - Hardware
- - - Software
- - - Comunicatii
- - - - Android
- - - - SymByan
- - - - IOS
- - - Stiri IT
- - - Calculatorul Meu
- - Social
- - - Cultura generala
- - - Descoperiri
- - - Educatie
- - - Sport
- - - - Fotbal
- - - Auto/Moto
- - - Filme & Seriale
- - - - Filme
- - - - Seriale
- - Bazar
- - - Vanzari
- - - Cumparari
- - Probleme si Intrebari
- - Discutii
- - War2.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Inscrieri
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Lista de Demo si Poze
- - - Discutii
- - - Revizualizare
- - - Status
- - Zm2.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva Server-ului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - [EuropaCs] Competitii si Turnee
- - - League of Legends
- - - - Anunturi
- - - - Provocari
- - - - Recrutare
- - - - Free to Win #11
- - - - Discutii
- - - Counter-Strike:Global Offensive
- - - - Anunturi
- - - - Provocari
- - - - Recrutare
- - - - Competitii CS:GO
- - - - Discutii
- - Pro.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva Server-ului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Arena.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Cerere Marire Grad
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva Server-ului
- - - Statistici GameTracker.Com
- - - Status
- - ZmC.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva Server-ului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Mix.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Staff Server
- - - Cereri Admin
- - - Cereri Unban
- - - Reclamatii
- - - Status
- - [EuropaCs] Legaturi
- - - Inregistreaza-te
- - - Grup Steam
- - - Clan GameTracker.Com
- - - Afilieri servere
- - Nume.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea serverului
- - - Cereri Admin/Slot/VIP
- - - Obligatii Admin/Slot/VIP
- - - Cereri Marire Grad
- - - Cereri Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista Ban-uri
- - - Cereri Ban
- - - Cereri Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare probleme
- - - Discutii
- - - Arhiva serverului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Status
- - FuNNy.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea serverului
- - - Cerere Admin/Slot
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Furien.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva serverului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Fury.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva serverului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - CsMedias.EuropaCs.Ro
- - - Regulament
- - - Anunturi Generale
- - - Staff Only
- - - Cereri Accese
- - - - Cereri Admin
- - - - Cereri Slot
- - - - Cereri VIP
- - - Cerere Schimbare Nume Admin
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Discutii
- - - Arhiva Serverului
- - - Statistici GameTracker.Com
- - - Status
- - Respawn.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva Server-ului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Factory.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva Server-ului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Fatal.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cereri Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva serverului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Cs.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva serverului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Zm.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva serverului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- - Servere Counter Strike 1.6
- - - Zm.EuropaCs.Ro
- - - - Regulament
- - - - Anunturi
- - - - Administrare Server
- - - - Conducerea serverului
- - - - Cereri Admin/Slot/VIP
- - - - Obligatii Admin/Slot/VIP
- - - - Cereri Marire Grad
- - - - Cereri Schimbare Nume Admin
- - - - Evenimente
- - - - Promovari & Sanctionari
- - - - Reclamatii
- - - - Lista Ban-uri
- - - - Cereri Ban
- - - - Cereri Unban
- - - - Absente & Retrageri
- - - - Propuneri & Sugestii
- - - - Raportare probleme
- - - - Discutii
- - - - Arhiva serverului
- - - - Statistici GameTracker.Com
- - - - Status
- - ZmX.EuropaCs.Ro
- - - Regulament
- - - Anunturi
- - - Administrare Server
- - - Conducerea Server-ului
- - - Cerere Admin/Slot/VIP
- - - Obligatii Admini/Slot/VIP
- - - Cerere Marire Grad
- - - Cerere Schimbare Nume Admin
- - - Evenimente
- - - Promovari & Sanctionari
- - - Reclamatii
- - - Lista de Ban-uri
- - - Cerere Ban
- - - Cerere Unban
- - - Absente & Retrageri
- - - Propuneri & Sugestii
- - - Raportare Problema
- - - Discutii
- - - Arhiva Server-ului
- - - Statistici GameTracker.Com
- - - Evidenta + Redirecte CsServers
- - - Evidenta + Redirecte xHlds
- - - Status
- [EuropaCs] Arhiva
- - Arhiva Publica
Cine este conectat
Utilizatori răsfoind acest forum: Niciun utilizator înregistrat și 1 vizitator

