Sensitiv form html. Flere valg fra rullegardinmenyen

Skjemaer er laget for å sende data fra brukeren til webserveren. Skjemaer i HTML kan bestå av tekstfelt og tekstområder, avmerkingsbokser og alternativknapper og nedtrekkslister. Alt dette er formelementer. Hvert element tjener til å formidle en viss mening til nettstedet.
I kjernen er et HTML-skjema en nettside der du ser områder for å legge inn informasjonen din. Etter at du har fylt ut skjemaet og klikker på send, pakkes informasjonen fra skjemaet og sendes til webserveren for behandling av et serversideskript (behandlerfil). Etter behandling returneres en annen nettside til deg som svar. Følgende figur viser tydelig hvordan skjemaet fungerer:

Det er ikke noe vanskelig med å lage HTML-skjemaer. Den enkleste måten å få en ide om skjemaer på er å analysere litt HTML-kode og deretter se hvordan det fungerer. Følgende eksempel viser syntaksen for å lage et enkelt HTML-skjema:

Eksempel: Enkelt HTML-skjema

  • Prøv selv"

Min første form:
Navn:
Etternavn:



Enkel form

Min første form:
Navn:
Etternavn:


Element

Skjemaer settes inn på nettsider ved hjelp av elementet . Den gir en beholder for alt skjemainnhold, inkludert elementer som tekstfelt og knapper, så vel som andre tagger HTML-språk. Den kan imidlertid ikke inneholde et annet element .
For å sende skjemaet til serveren, bruk "Send"-knappen, samme resultat vil oppnås hvis du trykker på "Enter"-tasten i skjemaet. Hvis "Send"-knappen ikke finnes på skjemaet, kan "Enter"-tasten brukes til å sende inn.
De fleste elementattributter påvirke behandlingen av skjemaet, ikke utformingen. De vanligste er handling Og metode. Egenskap handling inneholder URL-en som informasjonen i skjemaet vil bli sendt til for behandling av serveren. Egenskap metode er HTTP-metoden som nettlesere må bruke for å sende inn skjemadata.

Element

Nesten alle skjemafelt opprettes ved hjelp av elementet (fra engelsk input - input). Utseende element endres avhengig av verdien av attributtet type:

Her er noen attributtverdier type:

Tast inn tekst og passord

En av de mest enkle typer skjemaelementer er et tekstfelt designet for å skrive inn tekst fra én linje. Denne typen tekstinntasting er satt som standard, og derfor er det enlinjefeltet som vises hvis du glemmer å spesifisere attributtet type. For å legge til et én-linjes tekstinntastingsfelt i et skjema, bør du inne i elementet registrere attributtet type med tekstverdi:

Inntastingsfeltet for passord er en type vanlig tekstfelt. Den støtter de samme attributtene som et enkeltlinjes tekstfelt. Egenskap Navn angir navnet på passordfeltet som skal sendes til serveren sammen med passordet som er angitt av brukeren. For å opprette et passordfelt må du sette passordattributtet til type(passord (engelsk) - passord):

Et eksempel på å lage et skjema med et passordfelt:

Eksempel: Passordfelt

  • Prøv selv"

Din pålogging:

Passord:




Din pålogging:

Passord:


Du kan bruke attributtet sammen med dette attributtet makslengde, hvis verdi avgjør maksimalt beløp tegn som kan skrives inn denne linjen. Du kan også angi lengden på inndatafeltet ved å bruke attributtet størrelse. Som standard begrenser de fleste nettlesere bredden på et tekstfelt til 20 tegn. For å kontrollere bredden på nye skjemaelementer, i stedet for et attributt størrelse, anbefaler vi å bruke Cascading Style Sheets (CSS).
Egenskap verdi angir verdien som vises som standard i tekstfeltet når skjemaet lastes. Ved å legge inn en standardverdi i feltet kan du forklare brukeren nøyaktig hvilke data og i hvilket format du ønsker at brukeren skal legge inn her. Dette er som en prøve, fordi det er mye mer praktisk for brukeren å fylle ut skjemaet, se et eksempel foran seg.

Brytere (radio)

Element type radio oppretter brytere som bruker det logiske "ELLER"-prinsippet, som lar deg velge bare én av flere verdier: hvis du velger én posisjon, blir alle andre inaktive. Den grunnleggende syntaksen til et veksleelement er:

Egenskap Navn for brytere er nødvendig og spiller viktig rolle ved å kombinere flere alternativknappelementer til en gruppe. For å kombinere brytere til en gruppe, må du stille inn samme verdi Egenskap Navn Og annen betydning Egenskap verdi. Egenskap verdi angir verdien for den valgte alternativknappen som skal sendes til serveren. Verdien av hvert alternativknappelement må være unikt i gruppen slik at serveren vet hvilket svaralternativ brukeren valgte.
Attributte tilstedeværelse krysset av(fra engelsk - installert) ved bryterelementet indikerer hvilke av de foreslåtte alternativene som skal velges som standard når du laster inn siden, om nødvendig. Dette attributtet kan bare angis for ett alternativknappelement fra gruppen:

  • Prøv selv"

Hvor gammel er du?

  1. Under 18
  2. fra 18 til 24
  3. fra 25 til 35
  4. mer enn 35




Hvor gammel er du?

  1. Under 18
  2. fra 18 til 24
  3. fra 25 til 35
  4. mer enn 35

Avmerkingsbokser

Element type avmerkingsboksen oppretter avmerkingsbokser som ligner på alternativknapper ved at de gir brukeren muligheten til å velge mellom alternativene du gir. Hovedforskjellen fra radioknapper er at den besøkende kan velge flere alternativer samtidig, og selve flaggene er angitt med firkanter i stedet for sirkler. Som med alternativknapper, opprettes en gruppe med avmerkingsbokser ved å tildele hver vare samme attributtverdi Navn, men hver avmerkingsboks har sin egen betydning. Den grunnleggende syntaksen til en avmerkingsboks er:

Egenskap krysset av, som med alternativknapper, spesifiserer at avmerkingsboksen skal være merket som standard når siden lastes inn. Dette attributtet kan settes samtidig for flere gruppeavmerkingsbokser.
Følgende eksempel på bruk av avmerkingsbokser har flere standard svarvalg:

Eksempel: Bruke radioknapper

  • Prøv selv"
  1. Jazz
  2. Blues
  3. Stein
  4. Chanson
  5. Land




Hvilke musikksjangre liker du?

  1. Jazz
  2. Blues
  3. Stein
  4. Chanson
  5. Land

Send og tilbakestill knapper

Element type sende inn oppretter en knapp som, når den klikkes, sender nettleseren til et serverskript for å behandle dataene som er lagt inn av brukeren i skjemaet. Hvis vi lager en knapp som sletter skjemaet, tildeler vi attributtet type"reset" verdi. element type sende inn et valgfritt attributt kan tildeles Navn. Egenskap verdi brukes i dette elementet for å spesifisere tekst som indikerer etiketten på knappen. Som standard har nettlesere "Send" skrevet på knappen; hvis du ikke er fornøyd med denne påskriften, skriv den inn selv. Siden stilene til bekreftelsesknapper kan variere i forskjellige nettlesere, er det bedre å tilpasse stilen til knappen selv ved å bruke CSS-verktøy eller bruke grafiske knapper.
Opprette bekreftelses- og sletteknapper:

Eksempel: Bruk av send og tilbakestill

  • Prøv selv"

Ved å klikke på Tilbakestill-knappen tilbakestilles alle brukerangitte data.





handlingsattributtet.

Hoved for element

er et attributt handling, som spesifiserer databehandleren for skjemaet. En databehandler er en fil som beskriver hva du skal gjøre med skjemadata. Resultatet av denne behandlingen er en ny HTML-side som returneres til nettleseren. Med andre ord, i attributtet handling angir URL-banen til en behandlerfil på serveren (noen ganger kalt en skriptside) for behandling av skjemaet. Syntaksen er som følger:

Behandlingsfilen ligger på serveren mytestserver.com i mappen navnemappe og navnet på serverskriptet som skal behandle dataene - obrabotchik.php. Alle dataene du skrev inn i skjemaet på nettsiden vil bli overført til ham. .php-utvidelsen indikerer at det angitte skjemaet behandles av et skript skrevet i PHP. Selve behandleren kan skrives på et annet språk, for eksempel kan det være skriptspråket Python, Ruby, etc.
Det anbefales alltid å angi attributtverdien handling. Hvis skjemaet skal sende verdier til samme side der det er plassert, oppgi en tom streng som verdien av handlingsattributtet: action="".

metodeattributt

Egenskap metode spesifiserer hvordan informasjon skal overføres til serveren. Skjemainnsendingsmetoden du velger avhenger av dataene du vil sende inn med skjemaet. Mengden av disse dataene spiller en stor rolle her. De mest populære er to metoder for å overføre skjemaets kildedata fra nettleseren til serveren: Og POST. Metoden kan settes til hvilken som helst du velger, og hvis du ikke spesifiserer den, vil standarden bli brukt . La oss vurdere bruken av hver av dem.

POST metode

Metode POST pakker danner data og sender dem til serveren uten at brukeren merker det, siden dataene finnes i meldingens brødtekst. Nettleser, når du bruker metoden POST sender en forespørsel til serveren som består av spesielle overskrifter etterfulgt av skjemadata. Siden innholdet i denne forespørselen kun er tilgjengelig for serveren, vil metoden POST brukes til å overføre konfidensielle data som passord, detaljer bankkort og annen personlig informasjon om brukere. Metode POST også egnet for å sende store mengder informasjon, siden i motsetning til metoden , den har ingen begrensninger på antall overførte tegn.

GET-metoden

Som du allerede vet, er hovedoppgaven til en nettleser å motta nettsider fra serveren. Så når du bruker metoden , henter nettleseren ganske enkelt nettsiden som den alltid gjør. Metode bryter også skjemadata, men legger dem til på slutten av URL-en før forespørselen sendes til serveren. For å forstå hvordan metoden fungerer , la oss se det i aksjon. Åpne det første eksemplet fra denne leksjonen (Eksempel: Enkelt HTML-skjema) i Notisblokk (for eksempel Notisblokk++) og gjør en liten endring i HTML-koden:

de. erstatte POST.
Lagre filen under navnet filnavn.html og oppdater nettlesersiden (F5), og fyll ut skjemaet, for eksempel Vasya Pupkin, og klikk på "Send"-knappen. I adressefeltet til nettleseren din vil du se noe slikt:

File_name.html?firstname=Vasya&lastname=Pupkin

Nå kan du se navnet på hvert skjemaelement, så vel som verdien, her i URL-en.
URL-adressen er atskilt fra resten av skjemadataene med et spørsmålstegn, og variabelnavn og -verdier er atskilt med et og-tegnet (&) .
Denne metoden bør brukes hvis du ikke overfører store mengder informasjon.
Denne metoden vil ikke fungere hvis dataene i skjemaet ditt er sensitive, for eksempel lagring av bankkortnummer eller passord.
I tillegg kommer metoden er uegnet hvis du ønsker å sende filer til serveren sammen med skjemaet.

Gruppering av skjemaelementer

Skjemaelementer som er relatert i betydning kan grupperes mellom tagger

Og
. Nettleseren vises
i form av en ramme rundt en gruppe formelementer. Utseendet til rammen kan endres ved hjelp av Cascading Style Sheets (CSS).
For å legge til en tittel for hver gruppe, trenger du et element , som spesifiserer gruppetittelteksten som skal bygges inn i rammen.

stikkord (fra engelsk form- form) installerer et skjema på en nettside.

Skjemaet er beregnet for datautveksling mellom bruker og server. Anvendelsesområdet for skjemaer er ikke begrenset til å sende data til serveren; ved å bruke klientskript kan du få tilgang til ethvert element i skjemaet, endre det og bruke det etter eget skjønn.

Et dokument kan inneholde et hvilket som helst antall skjemaer, men bare ett skjema kan sendes til serveren om gangen. Av denne grunn må skjemadata være uavhengige av hverandre.

For å sende inn skjemaet til serveren, bruk Send-knappen, det samme kan oppnås ved å trykke på Enter-tasten i skjemaet. Hvis Send-knappen ikke er til stede på skjemaet, simulerer Enter-tasten bruken.

Når skjemaet sendes til serveren, overføres kontrollen av dataene til programmet spesifisert av elementets handlingsattributt . Nettleseren forbereder først informasjonen i form av et "navn=verdi"-par, hvor navnet bestemmes av elementets navnattributt , og verdien angis av brukeren eller satt til standard skjemafelt. Hvis GET-metoden brukes til å sende data, kan adresselinjen ha følgende form.

Http://www.htmlbook.ru/handler.php?nick=%C2%E0%ED%FF+%D8%E0%EF%EE%F7%EA%E8%ED&page=5

Parametrene er oppført etter spørsmålstegn, spesifisert etter adressen til serverprogrammet og er atskilt med et og-tegn (&). Russiske bokstaver konverteres til heksadesimal representasjon (i formen %HH, der HH er den heksadesimale koden for ASCII-tegnverdien), erstattes mellomrommet med et pluss (+).

Tillatt inne i beholderen plasser andre elementer, mens selve skjemaet ikke vises på noen måte på nettsiden, er bare elementene inni det synlige.

Syntaks

...

Avslutningsbrikken er påkrevd.

WAI ARIA

Standard rolleverdi: form

Gyldige rolleverdier:

  • ingen
  • presentasjon
  • Søk

Attributter

  • accept-charset - Angir kodingen der serveren kan akseptere og behandle data.
  • handling – Adressen til programmet eller dokumentet som behandler skjemadataene.
  • autofullføring – Aktiverer autofullføring av skjemafelt.
  • enctype - Måten skjemadataene er kodet på.
  • metode - HTTP-protokollmetode.
  • navn – Navnet på skjemaet.
  • novalidate - Avbryter den innebygde valideringen av skjemadata for korrekt inndata.
  • target - Navnet på vinduet eller rammen der behandleren skal laste det returnerte resultatet.

aksept-tegnsett

Angir kodingen som serveren kan akseptere og behandle skjemadata i.

Syntaks

...

Verdier

Kodingsnavn, for eksempel Windows-1251, UTF-8, etc.

Standardverdi

Kodingssettet for siden.

handling

Angir behandleren som skjemadata får tilgang til når de sendes til serveren. Behandleren kan være et serverprogram eller et HTML-dokument som inkluderer serverskript (for eksempel Parser). Etter at behandleren har utført handlinger på skjemadataene, returnerer den et nytt HTML-dokument.

Hvis handlingsattributtet mangler, blir gjeldende side lastet inn på nytt, og alle skjemaelementer returneres til standardverdiene.

Syntaks

...

Verdier

Verdien tas som full eller relativ vei til serverfilen.

Standardverdi

autofullfør

Kontrollerer automatisk utfylling av skjemafelt. Verdien kan overstyres av autofullfør-attributtet spesifikke elementer skjemaer.

Autofyll utføres av nettleseren, som husker verdiene som ble skrevet første gang du angir den, og deretter erstatter dem når du skriver den inn igjen i skjemafeltene. I dette tilfellet kan autofullføring deaktiveres i nettleserinnstillingene og kan ikke endres i dette tilfellet ved å bruke autofullføringsattributtet.

Når du skriver inn de første bokstavene i teksten, vises en liste over tidligere lagrede verdier, der du kan velge det du trenger.

Syntaks

...

Verdier

  • på – Aktiverer autofyll av skjema.
  • av - Deaktiverer autofyll. Denne verdien brukes vanligvis for å forhindre at nettleseren lagrer viktige data (passord, bankkortnumre), samt sjelden inntastede eller unike data (captcha).

Standardverdi

enctype

Bestemmer hvordan skjemadata kodes når de sendes til serveren. Vanligvis er det ikke nødvendig å angi enctype-attributtet; dataene blir forstått ganske riktig på serversiden. Men hvis du bruker et filinnsendingsfelt (input type="file"), bør du definere enctype-attributtet som multipart/form-data .

Syntaks

...

Verdier

  • application/x-www-form-urlencoded - Mellomrom erstattes med +, tegn som russiske bokstaver er kodet med sine heksadesimale verdier (for eksempel %D0%90%D0%BD%D1%8F i stedet for Anya).
  • multipart/form-data - Data er ikke kodet. Denne verdien brukes ved sending av filer.
  • tekst/vanlig - Mellomrom erstattes med et +-tegn, bokstaver og andre tegn er ikke kodet.

Standardverdi

application/x-www-form-urlencoded

metode

Metodeattributtet forteller serveren om forespørselsmetoden.

Syntaks

...

Verdier

Verdien av metodeattributtet skiller mellom store og små bokstaver. Det er to metoder - hent og post.

  • get - Denne metoden er en av de vanligste og er designet for å få den nødvendige informasjonen og overføre data i adressefeltet. Navn=verdi-par blir deretter lagt til adressen etter spørsmålstegnet og atskilt med et og-tegnet (&-symbol). Det praktiske med å bruke get-metoden er at adressen med alle parameterne kan brukes gjentatte ganger, for eksempel lagre den i nettleserens bokmerker, og du kan også endre parameterverdiene direkte i adressefeltet.
  • post - Postmetoden sender data til serveren i en nettleserforespørsel. Dette lar deg sende stor kvantitet data enn det som er tilgjengelig for get-metoden, siden post ikke har en grense på 4 KB. Store volumer data brukes i fora, e-posttjenester, utfylling av en database, ved sending av filer osv.

Standardverdi

Navn

Definerer unikt navn skjemaer. Vanligvis brukes navnet på skjemaet for å få tilgang til elementene gjennom skript.

Syntaks

...

Verdier

Navnet er et sett med tegn, inkludert tall og bokstaver. JavaScript skiller mellom store og små bokstaver, så når du får tilgang til et skjema med navn gjennom skript, bruk samme stavemåte som navnattributtet.

Standardverdi

novalidate

Avbryter den innebygde verifiseringen av data som er lagt inn av brukeren i skjemaet for korrekthet. Denne kontrollen utføres automatisk av nettleseren når skjemaet sendes til serveren og skjer for felt , , samt om det er et mønster eller påkrevd attributt.

Syntaks

...

Verdier

Standardverdi

Som standard er dette attributtet deaktivert.

mål

Etter at skjemabehandleren mottar dataene, returnerer den resultatet som et HTML-dokument. Du kan definere rammen som den resulterende nettsiden skal lastes inn i. For å gjøre dette, bruk target-attributtet; navnet på rammen er spesifisert som verdien. Hvis målet ikke er satt, vises det returnerte resultatet i gjeldende fane.

Syntaks

...

Verdier

Verdien er navnet på rammen spesifisert av elementets navnattributt