Metodika “Brojke i slova. Kako učiniti da traženi atribut za unos radi u starijim verzijama IE-a? D 18 potrebna je prijava imenom

Pozdrav ljudi, nadamo se da stvari idu dobro, danas ćemo vam objasniti vrlo koristan vodič. U današnjem vodiču izradit ćemo jednostavan obrazac za kontakt koristeći angularJS i php.

Kontakt obrazac je standardna web stranica koja je dostupna na svakoj web stranici. To omogućuje posjetiteljima stranice da kontaktiraju vlasnike stranice ili pružatelje usluga koji su odgovorni za održavanje te web stranice. Pa smo pomislili zašto ne izraditi jednostavan obrazac za kontakt koristeći Angularjs i php za primanje poruka od web stranica, čitatelja i/ili korisnika.

Koristimo Angularjs za front end i php na strani poslužitelja. Napisat ćemo kod u php-u koji uzima podatke iz Angular forme i šalje ih e-poštom administratoru stranice. Napravite mapu pod nazivom "kontaktni obrazac" u imeniku svoje web aplikacije i izradite ogledni dizajn HTML stranice– indeks.html. Sada kopirajte i zalijepite donji kod u datoteku index.html.

Demo - Jednostavan obrazac za kontakt koristeći Angularjs i php Obrazac za kontakt koristeći angularjs i PHP Vaše ime E-pošta Poruka Pošalji

Php kod za slanje E-mail

Napravite stranicu contact.php i kopirajte i zalijepite donji kod. Ispod je php kod koji će dohvatiti podatke iz kutne forme i poslati ih e-poštom na navedenu e-mail adresu.

< ?php $post_data = file_get_contents("php://input"); $data = json_decode($post_data); //Just to display the form values echo "Name: " . $data->Ime; echo "E-pošta: " . $podaci->e-pošta; echo "Poruka: " . $podaci->poruka; // slanje e-pošte $to = $data->email; $subject = "Testirajte mjesto pisma za testiranje angularjs obrasca za kontakt"; $poruka = ​​$podaci->poruka; $headers = "Od: ". $podaci->ime .. "\r\n" .. "\r\n" . "X-Mailer: PHP/" . phpverzija(); //PHP funkcija pošte za slanje e-pošte na adresu e-pošte mail($to, $subject, $message, $headers); ?>

Za bilo kojeg web programera trenutačno ne postoji ozbiljniji problem od potpune kompatibilnosti njegovog proizvoda s više preglednika. Ovo je vjerojatno jedan od glavnih zadataka dobrog stručnjaka: osigurati da njegova web stranica uvijek bude ispravno prikazana u svim preglednicima.

Traženi parametar, koji se ponekad koristi za unos, ne radi u starom IE-u, koji se jednostavno ne može tako ostaviti. Umirovljeni korisnici koji još uvijek koriste IE6 trebali bi imati istu jednostavnost korištenja kao korisnici vaše stranice Google Chrome Najnovija verzija. Tko se, osim web programera, može pobrinuti za njih.

O bolnim stvarima, oh Internet Explorer

Za normalne preglednike, koji uključuju Firefox, Operu i Google Chrome, ovaj zadatak je relativno jednostavan. Čak i starije verzije ovih preglednika jednako dobro prikazuju HTML kod, osim ako se, naravno, ne koriste neke nove tehnologije. Ali da bi se to postiglo u preglednicima iz obitelji Internet Explorer, potrebni su jednostavno herkulovski napori.

Svaka verzija Internet preglednik Explorer ima svoju jedinstvenu glupost. Ono što radi u IE6 možda neće ispravno raditi u IE7 i obrnuto. Microsoft nije uspio nadvladati ovaj zoološki vrt ni u najnovijoj verziji svog preglednika.

Ne mogu razumjeti zašto programeri preglednika ne mogu jednostavno otvoriti i pročitati W3C standarde za izradu web stranica.

Stoga, kao web programer, moram djelovati kao neka vrsta "sloja" između hirovitih preglednika i posjetitelja stranice koji zahtijevaju znanje i spektakl. I sjajno je što su web programeri uspjeli u tome do sada.

Dakle, kako se od mene traži da radim u starijim verzijama IE-a?

JS nam dolazi u pomoć. Ranije to nisam podnosio, ali sada ne vidim dalji put bez toga u prostranstvu "ispravnog" WEB-a.

Dolje navedeno rješenje nisam sam izmislio, već sam ga preuzeo s jednog buržoaskog bloga. Budući da sam pohlepan, a blog je buržujski, neću dati link na njega.

Za sve će biti odgovorna funkcija fnCheckFields(). Postavite JS kod na svoju stranicu:

funkcija fnCheckFields(form_obj)( var error_msg = "Molimo ispunite sva potrebna polja."; var is_error = false; for (var i = 0; form_obj_elem = form_obj.elements[i]; i++) if (form_obj_elem.type "input" || form_obj_elem.type "text") if (form_obj_elem.getAttribute("required") && !form_obj_elem.value) is_error = true; if (is_error) alert(error_msg); return !is_error; )

Obično se preporuča da ga postavite između HTML oznaka HEAD na početku stranice, no ja bih ipak preporučio da ga postavite na samo dno stranice prije završne oznake BODY. Na ovaj način JS ima manji utjecaj na brzinu učitavanja stranice.

Prozor za unos u koji treba unijeti traženi parametar trebao bi izgledati ovako u html-u:

Ova skripta radi vrlo jednostavno: nakon klika na gumb Pošalji, skripta provjerava sve unose na prisutnost traženog parametra i ako ga pronađe, u skladu s tim gleda unesenu vrijednost ovog polja. Ako se ništa ne unese u takav unos, prikazuje se prozor upozorenja o potrebi unosa. Sukladno tome, podaci se ne šalju nigdje.

Također je sjajno da ako imate normalan preglednik koji je već naučio razumjeti ovaj parametar na očekivani način, takav prozor upozorenja neće se pojaviti i standardni alati za obradu potrebnog parametra za vaš preglednik će raditi.

Podijelite na društvenim mrežama mreže

Prilikom izrade web aplikacija važno je ozbiljno shvatiti sigurnost, posebno kada se morate baviti prikupljanjem podataka od korisnika.

Opće sigurnosno pravilo je da se nikome ne vjeruje, tako da se ne možete osloniti na to da će korisnici uvijek unijeti točne vrijednosti u obrasce. Na primjer, umjesto ispravne adrese e-pošte u polje, korisnik može unijeti netočnu adresu ili čak neke zlonamjerne podatke.

Što se tiče provjere valjanosti korisničkih podataka, to se može učiniti na strani klijenta (u web pregledniku) ili na strani poslužitelja.

Prethodno se provjera valjanosti na strani klijenta mogla izvršiti samo pomoću JavaScripta. Ali sve se promijenilo (ili gotovo promijenilo), budući da se uz pomoć HTML5 validacija može obaviti u pregledniku, bez potrebe za pisanjem složenih validacijskih skripti u JavaScriptu.

Provjera valjanosti obrasca pomoću HTML5

HTML5 pruža prilično robustan mehanizam koji se temelji na sljedećim atributima oznake: vrsta, uzorak i zahtjev. S ovim novim atributima možete prenijeti dio funkcionalnosti provjere podataka na preglednik.

Pogledajmo ove atribute da bismo razumjeli kako mogu pomoći pri provjeri valjanosti obrasca.

atribut tipa

Ovaj atribut govori koje polje za unos prikazati za obradu podataka, na primjer poznato polje poput

Neka polja za unos već pružaju standardne metode provjere valjanosti, bez potrebe za pisanjem dodatnog koda. Na primjer, provjerava polje kako bi osigurao da unesena vrijednost odgovara predlošku važeće adrese e-pošte. Ako se u polje unese netočan znak, obrazac se ne može poslati dok se vrijednost ne ispravi.

Pokušajte se poigrati s vrijednostima polja e-pošte u demonstraciji u nastavku.

Postoje i druge standardne vrste polja, kao što su i za provjeru valjanosti brojeva, URL-ova i telefonskih brojeva.

Napomena: Formati telefonskih brojeva razlikuju se od zemlje do zemlje zbog razlika u broju znamenki u telefonskim brojevima i razlika u formatima. Kao rezultat toga, specifikacija ne definira algoritam za provjeru telefonskih brojeva, tako da u vrijeme pisanja ova prilika preglednici slabo podržavaju.

Srećom po nas, provjera valjanosti telefonskog broja može se izvršiti pomoću atributa uzorka, koji uzima regularni izraz kao argument, što ćemo pogledati sljedeće.

atribut uzorka

Atribut uzorka vjerojatno će natjerati mnoge front-end programere da poskoče od sreće. Ovaj atribut prihvaća regularni izraz (sličan JavaScript regularnom formatu izraza) koji će se koristiti za provjeru točnosti podataka unesenih u polje.

Regularni izrazi su jezik koji se koristi za raščlanjivanje i manipuliranje tekstom. Često se koriste za složene operacije traženja i zamjene, kao i za provjeru točnosti unesenih podataka.

Danas su regularni izrazi uključeni u većinu popularnih programskih jezika, kao iu mnoge skriptne jezike, uređivače, aplikacije, baze podataka i pomoćne programe naredbenog retka.

Regularni izrazi (RegEX) moćan su, koncizan i fleksibilan alat za podudaranje niza teksta, kao što su pojedinačni znakovi, riječi ili uzorci znakova.

Prosljeđivanjem regularnog izraza kao vrijednosti atributa uzorka, možete odrediti koje su vrijednosti prihvatljive za određeno polje unosa, kao i obavijestiti korisnika o pogreškama.

Pogledajmo nekoliko primjera korištenja regularnih izraza za provjeru vrijednosti polja za unos.

Brojevi telefona

Kao što je ranije spomenuto, tip polja tel nije u potpunosti podržan u preglednicima zbog nedosljednosti u formatima telefonskih brojeva u različitim zemljama.

Na primjer, u nekim zemljama format telefonskih brojeva predstavljen je kao xxxx-xxx-xxxx, a broj telefona to će biti otprilike ovako: 0803-555-8205.

Regularni izraz koji odgovara ovom uzorku je: ^\d(4)-\d(3)-\d(4)$ . U kodu se to može napisati ovako:

Broj telefona:

Alfanumeričke vrijednosti Potreban je atribut

Ovo je Booleov atribut koji se koristi za označavanje da vrijednost danog polja mora biti ispunjena kako bi se podnio obrazac. Kada dodate ovaj atribut u polje, preglednik će od korisnika zahtijevati da ispuni ovo polje prije podnošenja obrasca.

To nas spašava od implementacije provjere valjanosti polja pomoću JavaScripta, što programerima može uštedjeti vrijeme.

Na primjer: ili (za XHTML kompatibilnost)

Sve demonstracije koje ste vidjeli gore koriste obavezni atribut, pa ga možete isprobati tako da pokušate poslati obrazac bez ispunjavanja polja.

Zaključak

Podrška preglednika za provjeru valjanosti obrazaca prilično je dobra, a za starije preglednike možete koristiti višestruka popunjavanja.

Vrijedno je napomenuti da je oslanjanje samo na provjeru valjanosti na strani preglednika opasno jer te provjere napadači ili botovi mogu lako zaobići.

Ne podržavaju svi preglednici HTML5 i neće svi podaci poslani vašoj skripti doći iz vašeg obrasca. To znači da je prije konačnog prihvaćanja podataka od korisnika potrebno provjeriti njihovu ispravnost na strani poslužitelja.

Upute: Ovdje je tablica s 49 brojeva - 25 malim slovima i 24 velikim slovima. Trebate tražiti brojeve ispisane sitnim slovima od 1 do 25 u rastućem redoslijedu, a velikim slovima od 24 do 1 u silaznom redoslijedu. To se mora raditi naizmjenično: 1 - malim slovima, 24 - velikim slovima, 2 - malim slovima, 23 - velikim slovima itd. Kada pronađete broj, zapišite ga na ispitni list zajedno sa slovom pored njega.

Vrijeme rješavanja zadatka - 5 minuta.

7

4-in

15-v

8-satni

11-k

1-g

25

14-sh

18-l

21-f

15-z

3

19-f

17-z

7-f

2

11

10-e

23

8

10-a

17-b

14-str

6-r

20-str

13 sati

23-sh

5-g

9-f

3-l

22-b

1

16-c

6-d

13-n

2

4-ts

22-0

20-a

12

19-z

24

24-g

18-s

12-t

9-k

16-n

21-d

5-o

Kontrolni obrazac:

Veliki broj

Rezultati: . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Evaluacija rezultata (distribucija i prebacivanje pažnje):

Metodika “Reprodukcija geometrijskih likova” (srednja i starija adolescencija) Upute. Unutar 10 sekundi od vas se traži da pažljivo pregledate figure upisane u 10. kvadrat... Metoda “Pronađi pogrešku u poslovicama” Upute: Pronađite pogrešku u poslovicama. Vrijeme za rješavanje zadatka je 3 minute. U obrascu... Metodologija “procjena operativne vizualne memorije” Djetetova operativna vizualna memorija i njezini pokazatelji mogu se odrediti pomoću sljedećeg...

Dodaj komentar

Obavezno Odaberite drugo ime

Obavezno Unesite valjanu e-poštu

Afganistan Albanija Alžir Argentina Armenija Australija Austrija Azerbajdžan Bahrein Bangladeš Bjelorusija Belgija Belize Bermuda Bolivarska Republika Venezuela Bolivija Bosna i Hercegovina Brazil Bruneji Darusalam Bugarska Kambodža Kanada Karibi Čile Kolumbija Kostarika Hrvatska Češka Danska Dominikanska Republika Ekvador Egipat El Salvador Estonija Etiopija Farski Otoci Finska Francuska Gruzija Njemačka Grčka Grenland Gvatemala Honduras Hong Kong S.A.R. Mađarska Island Indija Indonezija Iran Irak Irska Islamska Republika Pakistan Izrael Italija Jamajka Japan Jordan Kazahstan Kenija Koreja Kuvajt Kirgistan Lao P.D.R. Latvija Libanon Libija Lihtenštajn Litva Luksemburg Makao S.A.R. Makedonija (BJRM) Malezija Maldivi Malta Meksiko Mongolija Crna Gora Maroko Nepal Nizozemska Novi Zeland Nikaragva Nigerija Norveška Oman Panama Paragvaj Narodna Republika Kina Peru Filipini Poljska Portugal Kneževina Monako Portoriko Katar Republika Filipini Rumunjska Rusija Ruanda Saudijska Arabija Senegal Srbija Srbija i Crna Gora ( Bivši) Singapur Slovačka Slovenija Južna Afrika Španjolska Šri Lanka Švedska Švicarska Sirija Tajvan Tadžikistan Tajland Trinidad i Tobago Tunis Turska Turkmenistan U.A.E. Ukrajina Ujedinjeno Kraljevstvo Sjedinjene Države Urugvaj Uzbekistan Vijetnam Jemen Zimbabve

Potreban