Viittaukset - Metodit ja ominaisuudet

JavaScript -ohjelmointikieli on tarkoitettu toimivaksi HTML-sivujen sisällä. Jotta voisimme tehdä jotain sivulla oleville elementeille esimerkiksi teksteille ja kuville, tarvitsemme viittaustavan haluamiimme sivun objekteihin ja tavan vaikuttaa niihin.

Aluksi tarvitsemme tiedon siitä, että kaikki HTML-sivun dokumentin elementit ovat objekteja, joilla on ominaisuuksia ja metodeja.

Ominaisuudet ovat nimensä mukaan objekteihin liittyviä ominaisuuksia, kuten paikka, väri, koko tai sisältö riippuen siitä, mikä objekti on kyseessä. Esimerkiksi objektin tyyliin sisältyvät ominaisuudet ovat objektin style-ominaisuuksien joukossa ja tekstikentän sisältö löydetään objektin value-arvosta, toisaalta div-objektin sisältö on haettavissa ja muutettavissa innerHTML -ominaisuuden avulla. Objektien ominaisuuksiin voidaan siis viitata ja niitä voidaan muuttaa.

Metodit ovat objekteihin valmiiksi tallennettuja ohjelmia, jotka suorittavat jonkin tehtävän. Esimerkkinä olemme tutustuneet jo HTML-sivun document-objektin erääseen metodiin document.write(), joka kirjoittaa dokumentin body-osaan tekstiä.

document.getElementById() -metodi

GetElementById on HTML-dokumentin metodi, joka etsii sivuilta objektin id-arvon avulla.

Tehdään pieni kokeilu ja sijoitetaan sivulle kaksi objektia ja nappeja. Käytetään hyväksi napin tapahtumafunktiota onClick ja viitataan haluttuun objektiin document.getElementById() -metodilla.


<div id="xxx">Jokin teksti - kenttä</div>
<input type="text" id="yyy" value="Tekstiä" />

<script Language="JavaScript">
	var tekstix = document.getElementById("xxx");
	var syote = document.getElementById("yyy");
</script>

<input type="button" value="Muuta väriä" onClick="tekstix.style.color='#ff0000';" />

<input type="button" value="Muuta tekstia" onClick="tekstix.innerHTML=syote.value;" />

Jokin teksti - kenttä

document.getElementsByName() -metodi

GetElementsByName -metodi etsii dokumentin objekteja nimen perusteella. Tätä käytettäessä pitää huomata, että metodi laittaa löydetyt objektit taulukkoon (selitetään myöhemmin taulukot), jolloin koodissa täytyy kertoa järjestysluku, kuinka monenteen ko. nimiseen objektiin halutaan viitata.


<div name="eka">Jokin teksti - kenttä</div>
<p name="eka">Toinen tekstikenttä</p>

<script Language="JavaScript">
	var tekstit = document.getElementsByName("eka");
</script>

<input type="button" value="Muuta väriä ekasta" onClick="tekstit[0].style.color='#ff0000';" />

<input type="button" value="Muuta väriä tokasta" onClick="tekstit[1].style.color='#00ff00';" />

Jokin teksti - kenttä

Toinen tekstikenttä

Viittaukset lomakkeen kettään

Lomakkeeseen ja sen kenttiin voidaan viitata suoraan nimellä ja value-ominaisuudella.


<form name="lomake">
	<input type="text" name="teksti" value="Jokin" /><br />
	<input type="checkbox" name="ruksi" checked />
</form>

<input type="button" value="Teksti" onClick="window.alert(document.lomake.teksti.value);" />
<input type="button" value="Ruksi" onClick="window.alert(document.lomake.ruksi.value);" />