Navigacija

Vartotojų tinkle

Prisijungusių svečių: 21
Prisijungusių narių: 2
Prisijungę nariai: jf, Zwimba

Registruoti nariai: 20,697
Naujausias narys: stmlx

Facebook

Naujausi straipsniai

Paskutiniai nariai

ZwimbaNaršo
jfNaršo
NZT00:11:22
MaFetas00:20:05
gedvydas861200:27:25
Majakas00:59:36
Andrius_DC01:12:46
tomukzzz01:16:20
Gazuots01:31:00
Hs01:43:45
EdjUxaS01:46:15
Promo01:55:31
RaiShteliS02:05:07
Penac02:53:24
etg03:03:22
skillo03:28:25
gintulis03:44:38
Arvydas03:52:17
AivarasZs04:03:48
ewl04:04:53

Informacija:


OS: Unknown
Naršyklė: Nežinoma
IP: 38.107.179.230
Naujienų: 478
Straipsnių: 231
Temų: 46,118
Postų: 499,944
Postų pask. parą: 70
Shout'ų pask. parą: 19
P.S.C. pask. parą: 90
Nuorodų kataloge: 2

Hey.lt lankomumo statistika

Prisijungti

Nario vardas

Slaptažodis



Dar ne narys?
Registruokis

Pamiršai slaptažodį?
Paprašyk naujo

Aktyvuoti save

Šaukykla

Jei norite rašyti žinutes, turite prisijungti.

-> MaFetas
2012/05/18 10:58
nieko

-> EdjUxaS
2012/05/18 08:55
Sveiki. Grįžtu į phpfusion po pusės metų pertraukos. Kas naujo?

-> tomukzzz
2012/05/17 22:52
Sveiki, ar tik man ta naujausia php f versija neisiraso meto: Servise Unavaible ar tik man? Ka daryt? schmod geras

-> iGolf
2012/05/17 22:47
Kaip čia taip botas bazarina? nežino

-> equals
2012/05/17 22:44
xD

-> Šaukyklos archyvas ->

Apklausa

Daugiausiai pagalbos sulaukiate iš?

Administratorių

Narių

Pagalbos nesulaukiu

Pagalbos neprašau

Norėdamas balsuoti turite prisijungti.
Archyvas
Reklama 400x60
(Naujokams) Susipažinkime su AJAX
Parašė SofteriZ 2011 gegužės 05 21:53:42


Taigi AJAX technologijos naudojamos daugiau stilizavimui, tiek formoms tiek įvairioms navigacijoms ir panašiai, manau ne kartą esate susidūrę su panašiais variantais.




01: Sukurti API

Na nedelskim ir pradėkim, žemiau pateikta funkcija nurodo kokius metodus mes atlikinėsime.

$('#formos-elementas').ajaxify(
{
method : 'post',
action : 'procesas.php',
onSuccess : function() {},
onSubmit : function() {},
onError : function() {}
}

Taigi pažiūrėkime ir panagrinėkime ką čia mes čia parašėme.

method - Šis variantas gali būti 'POST', 'GET', arba blank, tai yra tuščias.

action - Nurodomas URL veiksmui atlikti, duomenims perkelti ir panašiai, jei bus paliktas tuščias tada pluginas kreipsis į formą ieškant atributu.

onSuccess, onError - Ši dalis patikrina ar forma buvo užpildyta, ar ne tuščia.

onSubmit - Šis veiksmas veikia kai paspaudžiamas submit mygtukas (Siūsti) ir automatiškai pradeda veikti visi aukščiau išvardinti kriterijai. Jei jūs nepabrėžiate onSubmit kriterijaus funkcijoje ir buvo paspaustas siųsti mygtukas, tada automatiškai skriptas gražins true rezultatą.


02: Nustatom pagrindus



Taigi čia labai panašus kodas kaip ir viršuje tad nebeaiškinsiu kas ką atlieka, čia tiesiog nustatome numatytuosius parametrus kad viskas teisingai veiktų.


(function($) {
$.fn.ajaxify = function(parametrai) {
var pagrindiniai = {
method : '',
action : '',
onSuccess : function() {},
onSubmit : function() { return true },
onError : function() {}
};
var opts = $.extend({}, pagrindiniai, parametrai);


Šis reiškinys yra masyvas, čia apibrėžiami vartotojo pasirinkimai.



03: $.each apibrėžimas


Taigi nustatome parametrą submit mygtukui.

this.each(function() {
$(this).bind('submit', function(event) {



04: Įrankio event parametras



Event parametras tikrai turi nemažai padaryti kad forma darytu tai ką ir priklauso jei daryti. Taigi pirmosios eilutės būtu tokios.

FORM = $(this);
event.preventDefault();


Toliau suteikiame vartotojui galimybe daryti pasirinkimą (onSubmit) tad turime nustatyti teiginį jog onsubmit'as gražintu true arba false jei formoje kažkas klaidinga.

if(!opts.onSubmit.call(FORM[0])) { return; }

Taigi toliau panaudojame 'call' metodą, kad iškviestume onSubmit handlerius.
Taip yra nes .call() metodas sugeba iškviesti 'this' funkciją. Faktiškai turi būti nustatyta (GET arba POST) ir veiksmų (paskirties URL) nes kitu atveju bus negerai...

var method = opts.method || FORM.attr('method') || 'GET';
var action = opts.action || FORM.attr('action');


05: AJAX Pateikimas


jQuery perima visa darbą iš mūsų ajax'o, taip pat jei norėtumėt pasigilinti patarčiau pasiskaityti apie XMLHTTP basic'us.

$.ajax({
type : method,
url : action,
data : FORM.serialize(),
success : function(data) {
opts.onSuccess.call(FORM[0], data);
},
error : function() {
opts.onError.call(FORM[0]);
}
});

type - Nurodomos formos metodo atributas

url - Formos veiksmo atributas

data - Duomenų struktūros pateikimas, .seralize() metodas nurodo visas sėkmingas įvykdytas užklausas.

success - Jei buvo gražinta sėkminga formos užklausa.

error - Taip pat kaip ir aukščiau tik čia jei buvo gražinta klaidinga užklausa.


Na štai ir viskas pluginas beveik paruoštas darbui.


06: Panaudojam Plug-In


Taigi pritaikome mūsų pluginui atitinkamus veiksmus:

$('#ajaxify').ajaxify({
onSubmit : jeiPateikta,
onSuccess : jeiSekmingai,
onError : jeiKlaidingai
});


Dabar apibrėžiame patį onSubmit metodą kurį nurodėme plugine. Čia jau prasideda daugmaž stilizavimas.
Įsidėmėkite jog antroje eilutėje yra var valid = true; taip gražinamas true rezultatas


function jeiPateikta() {
var FORM = $(this);
var valid = true;


FORM.find('input').css('border-color', '#F0F0F0');

FORM.find('input').each(function() {
if($(this).val() == '') {
$(this).css('border-color', 'red');
valid = false;
}
});
return valid;
}



Dabar apibrėžkime rezultatus jei sėkmingai ir klaidingai buvo priimta užklausa.

function jeiSekmingai(msg) {
alert("Serveris sako " + msg);
}
function jeiKlaidingai() {
alert("Neteisingai užpildyta!");
}


6 Komentarai · 1854 Skaityta · Spausdinti
Komentarai
avice 2011 gegužės 07 20:19:58
mldc merkia akį
Man labai praverte
----------------------------------
Redagavo avice 2011-05-07 20:20
N30n47 2011 gegužės 18 11:44:14
Gaila, straipsnis buvo rasytas Neono, o cia vaikezas kopijuoja: (
Donatas 2011 gegužės 24 01:06:49
Iš kito puslapio kopijuotas visas straipsnis..
avice 2011 gegužės 28 22:06:36
Koks skirtumas juk ne visi uzsuka i ta "kita puslapi" ;D
Raibikis 2011 liepos 23 17:37:44
Bet jau rašyba.. taigi, na, taigi, taigi. . ;D
ShadoVw 2012 vasario 10 14:42:33
url : action, tai tipo viską atlisk tam pačiam puslapyje viską jei action nurodysim?
Rašyti komentarą
Prisijunkite, norėdami parašyti komentarą.
Reitingai
Balsuoti gali tik nariai.

Prašome prisijungti arba prisiregistruoti.

Nuostabu! Nuostabu! 0% [Nėra balsų]
Labai gerai Labai gerai 0% [Nėra balsų]
Gerai Gerai 0% [Nėra balsų]
Patenkinamai Patenkinamai 100% [1 Balsas]
Blogai Blogai 0% [Nėra balsų]