eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.wwwSprawdzanie poprawności formularzy › Re: Sprawdzanie poprawności formularzy
  • 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





Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: