Sådan oprettes en kontaktformular og indsendes e-mail ved hjælp af PHP - Dreamweaver trin-for-trin vejledning

Hvilket er bedre, og hvorfor?

Jeg kan se, hvor et websted, der fungerer 100% i AJAX, muligvis optimeres lidt bedre på grund af ikke at skulle genindlæse siden ved hvert klik.

Men jeg er en stor fan af den store send-knap i bunden af ​​skærmen.

Er det værd at bruge tiden på at konvertere et websted til AJAX, når det for det meste kun optimerer sideindlæsningstider?

I de fleste tilfælde skal du have manualen indsendt, selv når du har brugt AJAX til at indsende dine formularer. JavaScript er ikke altid aktiveret af forskellige årsager. De fleste tekstbrowsere fortolker normalt ikke JavaScript, og det er derfor vigtigt at have en reserve. Selvom jeg ved, at det ikke kan anvendes i de fleste former, har søgemaskiner meget begrænset evne til at analysere og udføre JavaScript, så det er bedst ikke at bruge det til at konstruere menuer.

Er det bedre at forbedre en formular med AJAX? Det afhænger af din situation og også af din implementering. Hvis alt, hvad du laver, er en AJAX-formularindsendelse, vil jeg anbefale mod de ekstra 20K-omkostninger for en JavaScript-ramme som jQuery eller MooTools. I så fald skal du bruge ren JavaScript. Men hvis du også bruger rammen andre steder, kan det være et godt valg. Bare vær opmærksom på, at brug af AJAX kan præsentere en række problemer med brugervenlighed (som tilbageknapadfærd).

Ligesom en advarsel og venlig påmindelse, skal du ikke bare foretage din validering med JavaScript. Det skal først og fremmest gøres på serveren. Brug JavaScript til at forbedre sikkerheden og ikke til at levere den.

  • Aftalt. Ideen om "progressiv forbedring" gælder her, så du skal bruge AJAX til forbedre en proces, ikke erstatte det.
  • Faktisk i AJAX-session cookies + XSRF-validering undgår problemet med tilbage-knappen. Med en POST-indsendelse er dette uundgåeligt.
  • "Brug JavaScript til at forbedre sikkerheden". Dette er falsk. Validering af klientsiden (ved hjælp af JavaScript eller ved hjælp af HTML-attributter element) gør ikke overhovedet give enhver form for sikkerhed. Validering af klientsiden er kun for at give en bedre brugeroplevelse. Det giver en bedre brugeroplevelse ved ikke at lade brugeren vente på en hel HTTP-anmodning bare for at lære, at deres formular ikke var gyldig.

Ingen af ​​dem er virkelig bedre end den anden. Det er et spørgsmål om præference for det meste. Vil du genindlæse hele siden eller bare genindlæse en bestemt del af den. Hvis formularen er alt, hvad du viser, er ajax sandsynligvis langsommere end at genindlæse siden. Men hvis din formular kun er en lille del af siden, ville ajax sandsynligvis være hurtigere.

Du kan stadig have en stor indsendeknap. Bare lad det ikke indsende. Fang det er onclick-begivenhed, gør din ajax thang, og returner falsk.

Tjek jQuery for nogle ret smertefri ajax-ting.

  • 1 +1 har du en POST på begge måder, men med en traditionel indsendelse har du ikke den ekstra omkostning til parsing af javascript, medmindre du har en validator på klientsiden eller noget. Indrømmet, det er klientsiden. Når jeg udvikler, foretager jeg opkaldet primært med brugeroplevelse i tankerne.
  • Aftalt. Det kommer virkelig ned til UX på det tidspunkt, hvis du kan enten.

De udelukker ikke hinanden: med progressiv forbedring kan du bruge begge dele!

Start med en grundlæggende formular, der indsendes via POST, og skriv en kode på serversiden for at håndtere det og omdiriger tilbage til den forrige side, som nu opdateres. Dette dækker tilgængelighed og ikke-JS sider.

Dernæst tilføj din AJAX-kode til siden, der "kaprer" onsubmit begivenhed for formularen, skal du ringe til din AJAX-funktion, der kører den samme server-side-kode for at behandle indsendelsen, men denne gang returnerer nogle data, der fortæller dig, hvordan du opdaterer siden. Glem ikke at returnere falsk fra din JS-funktion, så formularen ikke bogføres på normal måde.

Nu har du den "hurtigere" oplevelse for de fleste brugere og har stadig den funktionelle oplevelse for alle som en backup.

Det problem, du skal overveje, er brugerens oplevelse, og hvordan det relaterer til konvertering.

Hvis brug af AJAX skaber en bedre oplevelse for dine brugere og hjælper dem med at konvertere, bør du sandsynligvis bruge det.

Et simpelt eksempel: din bruger vælger et brugernavn. Brugernavnet er allerede taget. Brug af AJAX til at tjekke i baggrunden og fortælle ham det med det samme, og der er meget bedre end at lade ham udfylde formularen og genindlæse siden.

For det meste finder jeg ud af, at AJAX forbedrer tingene.

arbejdet for dig: Charles Robertson | Ønsker du at kontakte os?