Witaj, Gościu O nas | Kontakt | Mapa
Wortal Forum PHPEdia.pl Planeta Kubek IRC Przetestuj się!

Weryfikacja formularzy przy użyciu JavaScriptu

Właściwości klasy Band

Co ty na to, żeby zmodyfikować troszeczkę obiekt Band tak, aby akceptował argumenty?

<script language="JavaScript">

// konstruktor
function Band (n, g) 
{
	// wlasciwosci obiektu
	this.name = n;
	this.genre = g;
}

</script>

Egzemplarz klasy Band będzie teraz posiadał dwie właściwości - name i genre. Teraz możliwe jest stworzenie obiektu klasy Band i przesłanie mu dwóch argumentów(n i g), które następnie są zapisane jako właściwości obiektu. Zauważ, że użyłem słowa this, które pozwala na odwoływanie się do lokalnych właściwości i metod obiektu.

Podobnym sposobem można zdefiniować metody obiektu, które przecież są jakby zwykłymi funkcjami. Odrobinę zmian i nasz obiekt posiada teraz metodę whoRules(), która używa przechowywanej w obiekcie właściwości name.

<script language="JavaScript">

// kstruktor
function Band(n, g) 
{
// właściwości
this.name = n;
this.genre = g;

// metody
this.whoRules = whoRules;
}

// metoda whoRules()
function whoRules() 
{
	alert (this.name + " rules!");
}

</script>

Mamy tu dwie interesujące sytuacje: po pierwsze, metoda whoRules() jest tak naprawdę zdefiniowana poza konstruktorem. Po drugie, metody obiektu są definiowane w ten sam sposób co właściwości - przy użyciu słowa kluczowego this.

function Band(n, g) 
{
	...
	// metody
	this.whoRules = whoRules;
	...
}

Chcesz zobaczyć jak to działa? Popatrz na kod...

<script language="JavaScript">

obj = new Band("SledgeHammer", "Classic Rock");
obj.whoRules();

</script>

...a teraz na wyjście:

SledgeHammer rules!
Informacje na podobny temat:
Wasze opinie
Wszystkie opinie użytkowników: (3)
Opis obiektów w JS trochę spłycony
Wtorek 11 Styczeń 2011 10:51:43 pm - yarpo <jar.patryk_at_gmail.com>

Cześć, wydaje mi się, że trochę spłycony opis tworzenia obiektów :)

Sam ostatnio zainteresowałem się tą sprawą, jakby ktoś chciał przeczytać to zapraszam:
http://www.yarpo.pl/2011/01/11/tworzenie-obiektow-w-js/

BTW.
// metoda whoRules()
function whoRules()

po co komentarz? Co on dodał do kodu? Komentarze - dobre, bywają przydatne. Komentarze złe, są złe.

obiekty i obiekty
Sobota 13 Maj 2006 3:18:15 pm - ghostrider

Temam walidacji arcyażny, poruszać należy, metoda zaprezętowana w artykule też ujdzie, ale do obiektow i programowania obiektowego w JS autor ma jeszce daleko. Prezętowany sposób kodowania jest chyba najgorszym jaki widziałem. Zpareztętowanie poprawnego rozwiazania to materiał na kolejny artykuł. Wspomne tylko 'prototype'
FormValidator = function (arg1, arg2) {
// konstruktor
}
FormValidator.prototype.IsChecked = functoin (obj ) {
// kod sprawdzajacy checkboxa
}
itd ....
Warto też zwrócić uwagę na JSON-a ( JavaScript Object Notation ) i 'przestrzenie nazw', które pozwalają uniknąć kolizji nazw, a są balnalne w implementacji w JS.
W prę\ezętowanych artykułach sugeruje postawić na jakość, nie ilość. Ktoś powinien sprawdzać je pod kątem merytorycznym. W końcu czytają je różni ludzie, często niedoświadczeni, a "czego Jaś się nie nauczy, tego Jan nie będzie umiał".


Weryfikacja formularzy przy użyciu JavaScriptu
Czwartek 20 Kwiecień 2006 10:28:57 pm - temat <tematu_at_wp.pl>

Można także weryfikować poszczególne pola.

<input type="text" name="'.$nazwa.'" onkeyup="if(!(/^[\d\w]{2,8}$/gi).test(this.value)) { '.$nazwa.'_error.style.display='block'} else { '.$nazwa.'_error.style.display='none'}" />

<span id="'.$nazwa.'Info">Źle Źle Źle !!!</span>


<textarea name="'.$nazwa.'" cols="33" rows="10" onkeyup="'.$nazwa.'Info.innerText=\'znakow \'+this.value.length+\' z '.$maxZnakow.'\';if(this.value.length>'.$maxZnakow.'){ this.value=this.value.substring(0,'.$maxZnakow.'); }"></textarea>
<span id="'.$nazwa.'Info"></span>

Mentax.pl    NQ.pl- serwery z dodatkiem świętego spokoju...   
O nas | Kontakt | Mapa serwisu
Copyright (c) 2003-2024 php.pl    Wszystkie prawa zastrzeżone    Powered by eZ publish Content Management System eZ publish Content Management System