-
Data: 2009-01-22 22:19:13
Temat: Re: Sprawdzanie poprawności formularzy
Od: Mirosław Zalewski <miniopl@CUT_THIS.gmail.com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]styczeń roku pamiętnego 2009, prawdopodobnie 22. Wielka mądrość na
czytelników pl.comp.www spłynęła, gdy tako rzekł(a) Gabriel:
> > Generalnie masz rację. Chociaż ja, w celu zachowania większej
> > ogólności funkcji, po prostu sprawdzałbym czy elementem jest
> > <fieldset> i -- jeżeli tak -- wywoływał kolejną iterację pętli:
> > if(x[i].nodeName == 'FIELDSET') continue;
>
> Rewelacyjny pomysl:)
> Wezme wprowadze modyfikacje w swojej wersji skryptu.
> Lubie ogolne rozwiazania.
:)
To jeszcze dwie uwagi. Ale zaznaczam że nie jestem ich pewien i przed
ich wprowadzeniem należałoby sprawdzić czy są one uzasadnione.
Po pierwsze, gdyby jakaś przeglądarka zwróciła nodeName nieskładające
się z samych majuskuł, element ten -- pomimo bycia <fieldset> -- nie
zostałby pominięty. Dlatego można rozważyć jeszcze wykonywanie
metody toUpperCase() na otrzymanym ciągu w celu upewnienia się, że
wielkość znaków nie wpłynie na porównywanie. Ale jeżeli specyfikacja
nakazuje aby nodeName zawierało tylko wielkie litery i wszystkie
popularne przeglądarki tak robią, nie jest to konieczne.
Po drugie, jeżeli <fieldset> może być tylko i wyłącznie pierwszym
dzieckiem <form>, to zamiast sprawdzać wszystkie elementy czy są
fieldset, można to sprawdzić jeszcze przed iteracją.
var i = (x[0].nodeName == 'FIELDSET) ? Number(1) : Number(0);
for (i; i< x.length; i++) { // i tak dalej
Jeżeli jednak <fieldset> może wystąpić gdziekolwiek w formularzu, taka
poprawka wprowadzi tylko błąd. Ja nie sprawdzałem, ale pewnie
specyfikacja HTML o tym wspomina.
> Jedyne zatem, co by mozna bylo tu usprawnic, to wykrywanie przycisku
> submit Ale to juz czepianie dla czepiania, wiec mozna jedynie o tym
> wspomniec w komentarzu do kodu.
Nie jestem pewien czy można w tym kontekście użyć słowa ,,usprawnić" ;) .
> Co bowiem mozna madrego napisac w tym alercie? "Niestety nie dalismy
> rady sprawdzic poprawnosci wypelnienia formularza, bo Twoja
> przegladarka costam nieteges" ?;) Wogole IMO jakikolwiek alert w tym
> miejscu bedzie zly.
Nie nie, model DOM jest wykorzystywany tylko do poinformowania
użytkownika o niepoprawnie wypełnionym formularzu. Sprawdzanie owej
poprawności odbywa się niezależnie od niego.
Idea jest taka -- jeżeli przeglądarka obsługuje model DOM, dynamicznie
tworzymy informacje o błędach przy samych polach formularza. Jeżeli
nie, używamy alert(). Jest to funkcja tak podstawowa, że chyba nie
istnieje przeglądarka z JS która by jej nie obsługiwała.
> > To jak -- wyślesz e-maila do PPK czy ja mam to zrobić? :)
>
> Jezeli mozesz - to wyslij.
> Nie czuje sie kompetentny na tyle, by zwracac komus uwage na te
> rzeczy.
Oj tam ,,kompetentny" -- każdy może się pomylić, niezależnie od poziomu
swojej wiedzy. A ,,guru" jest chyba wystarczająco inteligentny, by o tym
wiedzieć.
Chyba że chodziło o kompetencje językowe.
Niemniej ok -- zaraz przekażę PPK Twoje uwagi.
--
Niżej podpisany, zamieszkały w http://minio.xt.pl ,
Mirosław Zalewski
Następne wpisy z tego wątku
- 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
- 24.01.09 13:06 Gabriel
- 24.01.09 14:25 ethanak
- 24.01.09 14:37 Radek N.
Najnowsze wątki z tej grupy
- Jakie znacie działające serwery grup dyskusyjnych?
- 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
Najnowsze wątki
- 2025-03-05 Zielona GĂłra => Konsultant wdroĹźeniowy Comarch XL/Optima (KsiÄgowoĹ
- 2025-03-05 Białystok => Spedytor Międzynarodowy (handel ładunkami/prowadzenie
- 2025-03-05 Warszawa => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-03-05 Środa Wielkopolska => Konsultant wewnętrzny SAP FI/CO <=
- 2025-03-05 Zielona Góra => Senior Field Sales (system ERP) <=
- 2025-03-05 Warszawa => Data Engineer (Tech Lead) <=
- 2025-03-05 Kraków => Business Development Manager - Network and Network Security
- 2025-03-05 Zaniepokojeni mieszkańcy
- 2025-03-05 Ile pieniędzy ma bank?
- 2025-03-05 Ostrów Świętokrzy => Node.js / Fullstack Developer <=
- 2025-03-05 Białystok => Architekt rozwiązań (doświadczenie w obszarze Java, A
- 2025-03-05 Warszawa => Frontend Developer (Angular13+) <=
- 2025-03-05 Warszawa => Frontend Developer (obszar Angular13+) <=
- 2025-03-05 Chiny-Kraków => Backend Developer (Node + Java) <=
- 2025-03-05 Warszawa => JavaScript / Node / Fullstack Developer <=