-
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!new
sfeed.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
From: "Gabriel" <z...@p...fm>
Newsgroups: pl.comp.www
Subject: Re: Sprawdzanie poprawności formularzy
Date: Thu, 22 Jan 2009 21:38:30 +0100
Organization: TP - http://www.tp.pl/
Lines: 76
Message-ID: <glalv0$707$1@nemesis.news.neostrada.pl>
References: <gklg7e$kg$1@nemesis.news.neostrada.pl><2...@p...p
lace.you.dont.want.to.be><gkmipk$gdq$1@atlantis.news.neostrada.pl><gladgn
$nis$1@atlantis.news.neostrada.pl>
<2...@p...place.you.dont.want.to.be>
NNTP-Posting-Host: acjk53.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
X-Trace: nemesis.news.neostrada.pl 1232657184 7175 83.10.60.53 (22 Jan 2009 20:46:24
GMT)
X-Complaints-To: u...@n...neostrada.pl
NNTP-Posting-Date: Thu, 22 Jan 2009 20:46:24 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1409
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409
Xref: news-archive.icm.edu.pl pl.comp.www:390259
[ ukryj nagłówki ]
Użytkownik "Mirosław Zalewski" <miniopl@CUT_THIS.gmail.com> napisał w
wiadomości news:20090122211513.4dbe0f01@pingwin.place.you.dont.
want.to.be...
styczeń roku pamiętnego 2009, prawdopodobnie 22. Wielka mądrość na
czytelników pl.comp.www spłynęła, gdy tako rzekł(a) Gabriel:
> Możesz napisać coś więcej? Nawet pal licho grupę, ale myślę że PPK
> będzie bardzo zainteresowany ich poprawą.
Pewnie.
Wezmy kod ze strony http://www.quirksmode.org/dom/error.html
Ten interesowal mnie najbardziej.
Moj kod formularza:
<form action="send.php" method="post" id="formularz_pytania_uwagi"
onsubmit="return validate();">
<fieldset>
<legend>Formularz kontaktowy</legend>
<p> <label for="imie_nazwisko">imię i nazwisko:</label><br />
<input name="imie_nazwisko" id="imie_nazwisko" />
</p>
<p> <label for="email">adres email:</label><br />
<input name="email" id="email" />
</p>
<p> <label for="tresc_maila">treść wiadomości:</label><br />
<textarea name="tresc_maila" id="tresc_maila" rows="10"
cols="10"></textarea>
</p>
<input name="przycisk" type="submit" value="wyślij" class="przycisk" />
</fieldset>
</form>
Czyli - najprostszy z mozliwych.
Kod umieszczony na w/w stronie sprawdza kolejne elementy danego formularza
poczawszy od i=0 do liczby elementow zawartych w formularzu:
for (var i=0;i<x.length;i++) {
if (!x[i].value)
writeError(x[i],'This field is required');
}
Oznacza to, ze w przypadku formularza zrobionego ze znacznikiem fieldset,
ktory powinien byc umieszczony w tzw. uzytecznych i zgodnych ze standardami
formularzach, nigdy formularz nie bedzie poprawny. Bo element i=0 to wlasnie
fieldset.
Nalezy wtedy odliczac od i=1
No i po co sprawdzac element ostatni, czyli przycisk "wyslij" ?
Zatem odliczamy od i=1 do i=x.length-1
Kolejna poprawka dotyczy fragmentu:
if (!W3CDOM) alert(errorstring);
Autor po prostu wyszedl z zalozenia, ze jesli przegladarka nie obsluguje
modelu DOM, to powinien pojawic sie komunikat o bledzie.
A ja sie pytam - po co? Zeby Klient nie wyslal formularza? Powinien zostac
zwrocony true, zeby formularz poszedl, a jego obrobka w tym momencie powinna
zostac przejeta po stronie serwera.
Oczywiscie nie mozna tu mowic o bledzie sensu stricte, ale chociaz by w
wyjasnieniu mozna dac szerszy komentarz na ten temat.
To samo dotyczy kodu ze strony http://www.quirksmode.org/js/formex.html
Ale tak jak napisalem - poza takimi nielicznymi przypadkami, gdzie cos
samemu sobie trzeba dopracowac, to artykul jest rewelacyjny.
--
Pozdrawiam
Gabriel Zastawnik
http://www.sigsoft.pl - Monitoring Komputera
Następne wpisy z tego wątku
- 22.01.09 21:30 Mirosław Zalewski
- 22.01.09 21:52 Gabriel
- 22.01.09 22:19 Mirosław Zalewski
- 23.01.09 05:39 Gabriel
- 23.01.09 08:17 Maciej Łebkowski
- 23.01.09 21:35 Mirosław Zalewski
- 23.01.09 22:32 Gabriel
- 24.01.09 09:48 Gabriel
- 24.01.09 09:58 Paweł Piskorz
- 24.01.09 10:07 Gabriel
- 24.01.09 11:44 ethanak
- 24.01.09 11:59 Radek N.
- 24.01.09 12:18 ethanak
- 24.01.09 12:28 Radek N.
- 24.01.09 13:04 Gabriel
Najnowsze wątki z tej grupy
- is it live this group at news.icm.edu.pl
- php, linki z nazwami a $_GET, SEO
- www polityka pl captcha
- dyktatura brudnego palucha
- www.znanylekarz.pl
- Czy pytanie o sczytywanie stron programami/skryptami to tu?
- Grupy webdevowe
- Jak wydrukować stronę?
- IIS, kilka witryn
- linki <a href="/strona.php"> (ze slashami)
- co rozszerza stronę??
- responsywny akapit <p>
- Czy istnieje jakiś emulator przeglądarek pod Mac'a?
- taka sama konfiguracja dla localhost i produkcji
- TypeScript - jak uzyskać zmienne prywatne? Gdzie korzyści z TS?
Najnowsze wątki
- 2024-05-20 Fiat 125p wer. pikup - w PRL moszna było, w III Reczy [pospolitej] nie moszna
- 2024-05-19 Pożar salonu z chińskimi elektrykami
- 2024-05-18 LED
- 2024-05-19 ceny nieruchomości
- 2024-05-18 Szczecin => UX/UI Designer <=
- 2024-05-18 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-18 Warszawa => Software .Net Developer <=
- 2024-05-18 Warszawa => Mid/Senior QA Engineer <=
- 2024-05-18 Ulm => Solution Architect (sichere Kommunikation und IoT-Loesungen <=
- 2024-05-18 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-05-18 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-18 Wrocław => Consultant/Implementer Comarch ERP XL <=
- 2024-05-18 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-05-18 Warszawa => Account Manager (Recruitment Services) <=
- 2024-05-18 Łódź => Salesperson - CRM Systems <=