Crearea de formulare HTML. Formulare HTML

Bună ziua, dragi cititori ai blogului. Continuând studiul nostru, trecem la luarea în considerare a etichetelor de formular și de intrare cu atributele lor (), cu ajutorul cărora puteți crea o mare varietate de formulare pentru site.

Indiferent de subiectul și conținutul unei anumite resurse web, cel mai probabil va conține formulare într-o formă sau alta: câmpuri de text, meniuri derulante, diverse butoane sau comutatoare. Apropo, într-una dintre publicații am vorbit deja despre elemente care ajută la diversificarea formelor.

Care este scopul practic al întregii varietăți de forme posibile? În primul rând, acestea sunt necesare pentru a trimite datele introduse de utilizator către server în scopul prelucrării ulterioare folosind un script (handler) special creat.

Formulare HTML - cum sunt create folosind formularul și intrarea

După cum am spus la început, un fel de formular web, sau chiar mai multe deodată, trebuie să fie prezente pe orice site web mai mult sau mai puțin dezvoltat. Pentru a înțelege cât de importante sunt acestea în lumina conformității unei resurse web cu cerințele moderne, este suficient să vă oferim de la îndemână trei obiecte care folosesc formulare bazate pe formulare și etichete de intrare, care, doar prin numele lor, nu lasă nicio îndoială asupra lor. necesitatea unui proiect într-o direcție sau alta:

Dacă urmați, de exemplu, un link către un articol despre crearea feedback-ului (permițând tuturor utilizatorilor să trimită mesaje către administrația site-ului), atunci codul HTML cu un formular care are o deschidere (

) și închidere (
) Partea:


Aici formularul joacă un rol vital, deoarece inițiază instalarea formularului web. Nu afișează în sine o zonă pe o pagină web, ci servește ca un container care conține alte etichete.

În cazul nostru (vezi captura de ecran de mai sus), acestea includ mai multe intrare(această etichetă HTML este unică, cu alte cuvinte, nu are o componentă de închidere), și de asemenea zona textului, cu seturi diferite de atribute. Fiecare dintre ele își definește propriul element inclus în formular.

16. Focalizare automată(fără parametri) - un atribut logic care pune accentul pe câmp imediat când se încarcă pagina web, drept urmare puteți introduce date fără a face clic pe el cu butonul mouse-ului. Nu poate fi aplicat numai pentru tipul de intrare = "ascuns".

17. Dezactivat(fără valori) - dezactivează pentru utilizator elementul de formular la care a fost adăugat. Cel mai adesea este folosit împreună cu scripturi, unde sunt specificate condițiile în care va fi activat un element inaccesibil.

18. Formă— asociază elementul cu forma când se află în afara containerului

. Pentru a lega, se adaugă un atribut global de id la eticheta de formular și un atribut de formular este adăugat la eticheta de intrare, ale cărui valori sunt aceleași (de exemplu, id="data" și form="data") .

19. Multiplu(fără parametri) - seturi opțiune cu alegere multiplă pentru utilizator și este utilizat numai împreună cu type="file" și type="email".

Dacă utilizați câmpul de încărcare a fișierelor, puteți selecta simultan mai multe fișiere de pe computer folosind tastele Ctrl sau Shift. Dacă este afișat un câmp pentru introducerea unei adrese de e-mail (type="email"), atunci e-mailurile trebuie introduse separate prin virgule.

20. Necesar(fără valori) – activează cerința ca utilizatorul să introducă date. Prin urmare, browserul blochează trimiterea formularului web dacă un câmp obligatoriu este lăsat gol și afișează un mesaj corespunzător despre necesitatea completării acestuia.

Acest atribut nu este utilizat pentru butoanele grafice și standard (type="button | imagine"), precum și pentru câmpurile de introducere ascunse (type="hidden").

21. mărimea— determină lățimea câmpului de text în caractere (potrivit doar pentru elementele de tip cu parametrii „email | parola | căutare | tel | text | url”). Valoarea implicită este de 20 de caractere.

Următoarele patru atribute (22-25) pentru eticheta de intrare au aproape aceeași funcționalitate ca și pentru , dar pentru a fi completă le voi menționa și pe scurt.

22. Lungime maxima— impune o limită a numărului maxim de caractere care pot fi introduse la completarea unui câmp de text. Dacă încercați să depășiți această limită, introducerea ulterioară va fi blocată. Acest atribut este aplicabil numai pentru elementele text cu tip="email | parola | căutare | tel | text | url".

23. Minlength— impune o limită a numărului minim de caractere necesare pentru a fi introduse în zona de text. Dacă se încearcă trimiterea de date care conțin mai puține caractere, va apărea un mesaj scurt care indică necesitatea de a completa conținutul formularului și vor fi furnizate informații despre numărul de caractere deja introduse. Condițiile de utilizare sunt exact aceleași ca și în cazul lungimii maxime.

24. Substituent— puteți plasa un indiciu (va servi ca parametru) direct în câmpul de text, care va dispărea în momentul în care utilizatorul începe să introducă caractere. Numai pentru câmpurile care sunt formate folosind parametri e-mail, parolă, căutare, text, tel, url atributul tip al etichetei de intrare.

25. Numai citire(fără parametri) - indică faptul că textul introdus anterior în câmp este disponibil doar pentru citire și copiere. Este de obicei folosit împreună cu scripturi, unde sunt specificate condiții care, atunci când sunt îndeplinite, pot activa acest element de formular.

Și, în sfârșit, încă câteva atribute care completează funcționalitatea diferitelor elemente de formular:

26. Model— ca valoare, reflectă o expresie regulată pe baza căreia sunt stabilite regulile de introducere a informațiilor. În acest caz, se recomandă adăugarea suplimentară a unui atribut de titlu global, ca parametru al căruia puteți adăuga text explicativ pentru a ajuta utilizatorii să completeze câmpurile. Modelul se aplică numai elementelor de e-mail, parolă, căutare, text, tel, url. Să înțelegem cu un exemplu. Iată codul pentru un formular de înregistrare simplificat (cu ):

Log in

Parola

Log in

Parola

Pentru câmpul de conectare (type="text"), este specificată o expresie regulată (5,) ca valoare a modelului, ceea ce implică utilizarea caracterelor latine și trebuie introduse cel puțin cinci caractere.

În ceea ce privește zona de text pentru parolă (type="parola"), valoarea este setată la (8,), care specifică introducerea caracterelor exclusiv latine în orice caz (lite mari și mici), precum și cifre, în timp ce numărul total al tuturor caracterelor nu trebuie să fie mai mic de opt.

Dacă sunt încălcate condițiile de introducere specificate, browserul nu vă va permite să trimiteți date și va afișa un avertisment corespunzător:


27. Sr— definește calea către imagine (URL, care este valoarea acesteia) pentru afișarea butonului grafic „imagine” (vezi tabelul cu parametrii tipului de intrare de mai sus).

28. Etapa— setează pasul pentru elementele care oferă o alegere de valori numerice (input type="data | datetime-local | luna | număr | interval | tel | ora | săptămână.").

Poate lua ca parametru orice număr întreg sau fracționar. Pas implicit="1". Pentru a seta intervalul final de intrare, puteți utiliza din nou atributele min și max menționate mai sus. Pentru claritate, vom include 2 elemente type="number" în formularul de testare. Pentru primul, setați step="2", iar pentru al doilea, step="0,1":

Introduceți o valoare între 0 și 1:

Introduceți o valoare de la -10 la 10:

Introduceți o valoare între 0 și 1:

29. Valoare— setează valoarea elementului de formular care va fi transmis handler-ului. O pereche nume-parametru este trimisă la server, unde numele este determinat de atributul nume al etichetei de intrare, iar parametrul este determinat de atributul value. Mai mult, pentru diverse elemente de formă valoarea va juca roluri diferite:

  • for type="button | reset | submit" - setează eticheta textului pe butoane;
  • for type="checkbox | radio | image" - identifică fiecare casetă de selectare, comutator sau buton grafic la trimiterea și procesarea datelor pe server;
  • pentru type="parolă | text" - imediat la încărcarea formularului, acesta afișează text preliminar în câmp, care poate fi schimbat sau șters complet de către utilizator;
  • pentru type="file" (încărcare fișier) nu se aplică deoarece nu afectează acest element.

Exemplu de utilizare pentru fiecare dintre opțiunile de mai sus:

Selectați CMS: W.P. Joomla

Selectați CMS: W.P. Joomla

Aici valoare atribut valoare definește următoarele componente ale fiecărui element: afișează un fragment de text pentru câmpul type="text" ("Numele tău"), identifică fiecare dintre butoanele radio ("1" și "2") setate folosind type="radio", și, de asemenea, activează înscrierea pe butonul ("Trimite").

Un exemplu de creare a unui formular HTML frumos

În continuare, voi încerca să vă prezint un exemplu de formular web, al cărui cod include nu numai combinații de tipuri de introducere cu valori diferite care formează câmpuri și butoane de text standard, ci și, de exemplu, care vă permit să inițiați concentrarea asupra un element nu numai cu un clic direct al mouse-ului, ci și prin clic pe text.

Vă rugăm să rețineți că, pentru a obține un design unic, sunt plasate componente individuale de formă, fiecare cu seturi de:

Spate (lățime maximă: 350 px; margine: 50 px automat 0; padding: 20 px; fundal: # f3ebe1; font-family: „Oswald”, sans-serif;) .form-1, .form-2, .form-3 , .form-4 (padding:15px; border:4px double #909090) .form-1, .form-2, .form-3 (border-bottom:none) .form-1 input (display:block; margin- jos:10px; width:100%) .in (padding-left:40px) .in input (width:100%) ..png) no-repeat;background-position:10px 10px) ..png) no-repeat; poziția fundalului: 10px 10px) .form-4 de intrare (display:block; înălțime:50px; font-size:24px; lățime:100%; cursor: pointer)

Ca rezultat, un astfel de formular web are următorul contur:

Informații mai complete despre crearea acestui formular specific pot fi găsite la această pagină(apropo, acolo nu puteți doar să testați funcționalitatea zonelor de text individuale introducând date în ele, ci și să experimentați cu formularul web prin editarea codului HTML și/sau a proprietăților CSS, schimbându-i complet sau parțial aspectul).

Scopul meu a fost să vă prezint algoritmul de utilizare a diferitelor valori ale atributului type și eticheta de formular pentru a crea diverse formulare HTML pe site. Sper că sarcina este finalizată. În orice caz, împărtășește-ți părerile despre acest subiect divers în comentarii.

Desigur, în publicațiile ulterioare voi continua să descriu principalele etichete ale marcajului hipertext, așa că nu uitați să vă abonați la actualizările blogului prin e-mail. De asemenea, pentru a consolida acest lucru, priviți o altă lecție a lui Evgeniy Popov despre crearea unui formular de contact.

formular HTML este un instrument cu ajutorul căruia un document HTML poate trimite unele informații într-un punct predeterminat din lumea exterioară, unde informațiile vor fi procesate într-un fel.

Este destul de greu să vorbim despre formulare într-un tutorial dedicat HTML-ului. Motivul este foarte simplu: crearea unui formular HTML este mult mai ușoară decât crearea „punctului din lumea exterioară” către care formularul HTML va trimite informații. În cele mai multe cazuri, un astfel de „punct” este un program scris în Perl sau C.

Programele care procesează datele trimise prin formulare sunt adesea numite scripturi CGI. Acronimul CGI înseamnă Common Gateways Interface. Scrierea de scripturi CGI necesită în majoritatea cazurilor o bună cunoaștere a limbajului de programare corespunzător și a capacităților sistemului de operare Unix.

În prezent, limbajul PHP/FI a devenit oarecum răspândit, ale cărui instrucțiuni pot fi încorporate direct în documente HTML (documentele sunt salvate ca fișiere cu extensia *.pht sau *.php).

Formularele HTML transmit informații către programele de gestionare sub formă de perechi [nume variabilă]=[valoare variabilă]. Numele variabilelor trebuie specificate cu litere latine. Valorile variabilelor sunt tratate ca șiruri de către handleri, chiar dacă conțin doar numere.

Cum funcționează formularul HTML

Formularul este deschis cu eticheta

și se termină cu eticheta
. Un document HTML poate conține mai multe formulare, dar formularele nu trebuie să fie amplasate unul în celălalt. Textul HTML, inclusiv etichetele, poate fi plasat în formulare fără restricții.

Etichetă

poate conține trei atribute, dintre care unul este obligatoriu. Acestea sunt atributele:

Atribut obligatoriu. Determină locul în care se află handlerul de formulare.

Determină modul în care (cu alte cuvinte, folosind ce metodă de protocol de transfer hipertext) datele din formular vor fi transferate către handler. Valorile valide sunt METHOD=POST și METHOD=GET. Dacă valoarea atributului nu este setată, se presupune implicit METHOD=GET.

Determină modul în care datele din formularul HTML vor fi codificate pentru a fi transmise către handler. Dacă valoarea atributului nu este setată, valoarea implicită este ENCTYPE=application/x-www-form-urlencoded .

Cel mai simplu formular HTML

Pentru a începe procesul de transfer al datelor din formular către handler, este nevoie de un fel de control. Crearea unui astfel de corp de control este foarte simplă:

După ce a întâlnit o astfel de linie în interiorul formularului, browserul va desena pe ecran un buton cu inscripția Submit (a se citi „submit” cu accent pe a doua silabă, din engleza „submit”), atunci când se va face clic, toate datele disponibile în formularul va fi transferat la handler-ul definit în etichetă .

Eticheta de pe buton poate fi setată la orice doriți, introducând atributul VALUE="[Label]" (читается "вэлью" с ударением на первом слоге, от английского "значение"), например:!}

Acum știm suficient pentru a scrie un formular HTML simplu (exemplul 11). Nu va colecta date, ci pur și simplu ne va întoarce la textul acestui capitol.

Exemplul 11

Cea mai simpla forma

Inscripția plasată pe buton poate fi transmisă, dacă este necesar, operatorului prin introducerea atributului NUME=[nume] în definiția butonului (a se citi „nume”, din engleză „nume”), de exemplu:

Când faceți clic pe un astfel de buton, handlerul, împreună cu toate celelalte date, va primi o variabilă buton cu valoarea Să mergem! .

Un formular poate avea mai multe butoane de trimitere cu nume și/sau valori diferite. Managerul poate acționa astfel diferit în funcție de butonul de trimitere pe care a făcut clic utilizatorul.

Cum colectează date un formular HTML

Există și alte tipuri de elemente . Fiecare element trebuie să includă atributul NAME=[nume], care specifică numele elementului (și, în consecință, numele variabilei care va fi transmisă handlerului). Trebuie specificat numele numai cu litere latine. Majoritatea articolelor trebuie să includă atributul VALUE="[valoare]" , определяющий значение, которое будет передано обработчику под этим именем. Для элементов !} Și , cu toate acestea, acest atribut este opțional deoarece valoarea variabilei corespunzătoare poate fi introdusă de către utilizator folosind tastatura.

Tipuri de elemente de bază :

TYPE=text

Definește o fereastră pentru introducerea unei linii de text. Poate conține atribute suplimentare SIZE=[număr] (lățimea ferestrei de introducere în caractere) și MAXLENGTH=[număr] (lungimea maximă permisă a șirului de introducere în caractere).

Exemplu:

Definește o fereastră lată de 20 de caractere pentru introducerea textului. În mod implicit, fereastra conține textul Ivan, pe care utilizatorul îl poate edita. Textul editat (sau needitat) este transmis operatorului în variabila utilizator.

TYPE=parolă

Definește o fereastră pentru introducerea unei parole. Absolut asemănător cu tipul de text, doar că în loc de simboluri ale textului introdus apare asteriscuri (*) pe ecran. Exemplu:

Definește o fereastră lată de 20 de caractere pentru introducerea unei parole. Lungimea maximă permisă a parolei este de 10 caractere. Parola introdusă este transmisă handlerului în variabila pw.

TYPE=radio

Definește un buton radio. Poate conține un atribut bifat suplimentar (indică faptul că butonul este bifat). Într-un grup de butoane radio cu aceleași nume, poate exista un singur buton radio etichetat.

Exemplu:

9600 bps
14400 bps
28800 bps

Definește un grup de trei butoane radio etichetate 9600 bps, 14400 bps și 28800 bps. Primul dintre butoane este inițial etichetat. Dacă utilizatorul nu bifează alt buton, variabila modem cu valoarea 9600 va fi transmisă handlerului. Dacă utilizatorul verifică un alt buton, o variabilă de modem cu o valoare de 14400 sau 28800 va fi transmisă handlerului.

TYPE=caseta de selectare

Definește un pătrat în care se poate face un marcaj. Poate conține un atribut bifat suplimentar (indică faptul că pătratul este bifat). Spre deosebire de butoanele radio, un grup de pătrate cu același nume poate avea mai multe pătrate etichetate.

Exemplu:

Calculatoare personale
Stații de lucru
Servere de rețea locală
Servere de Internet

Definește un grup de patru pătrate. Al doilea și al patrulea pătrat sunt inițial marcate. Dacă utilizatorul nu face modificări, două variabile vor fi transmise handlerului: comp=WS și comp=IS .

TYPE=ascuns

Definește un element de date ascuns care nu este vizibil pentru utilizator la completarea formularului și este transmis operatorului neschimbat. Este uneori util să existe un astfel de element pe un formular care este reproiectat din când în când, astfel încât handlerul să știe cu ce versiune a formularului are de-a face. Puteți găsi cu ușurință și alte utilizări posibile.

Exemplu:

Definește o variabilă de versiune ascunsă care este transmisă handler-ului cu valoarea 1.1.

TYPE=resetare

Definește un buton care, atunci când este făcut clic, readuce formularul HTML la starea inițială. Deoarece nu sunt transmise date managerului atunci când se utilizează acest buton, este posibil ca un buton de resetare să nu aibă un atribut de nume.

Exemplu:

Definește un buton Clear Form Fields care, atunci când este făcut clic, readuce formularul HTML la starea inițială.

Pe langa elemente , Formularele HTML pot conține meniuri

Toate atributele sunt obligatorii. Atributul NAME definește numele sub care conținutul ferestrei va fi transmis handler-ului (în exemplu - adresa). Atributul ROWS stabilește înălțimea ferestrei în rânduri (5 în exemplu). Atributul COLS stabilește lățimea ferestrei în caractere (50 în exemplu).

Text plasat între etichete , reprezintă conținutul implicit al ferestrei. Utilizatorul îl poate edita sau pur și simplu îl poate șterge.

Este important să știți că literele rusești sunt în fereastră