Jak zrobić okienko z możliwością wpisu?


(Poccnr) #1

Witam!

Tworzę stronę z ćwiczeniami j. angielskiego (chodzi o czasy itp.). Używam programu Nvu, ale nie wiem jak zrobić okienko z możliwością wpisu, i sprawdzenia automatycznego po wykonaniu zadania.

Może jaśniej będzie jeśli podam przykład:

->Wstaw for/since.

*We have waited here __________ an hour.

(W miejsce kreski, możliwość wpisu swojej odp.)

albo:

->Wstaw poprawną formę czasownika.

*1. The cat _________(PLAY) in the garden.

(No i sprawdzenie swojej odpowiedzi z poprawną).

Mam nadzieję że jasno napisałam w czym rzecz. Proszę o pomoc! [-o<

Pozdrawiam!

S.P.


(Elektrrrus) #2

Tag input formularza.

Ale do sprawdzania poprawności to już trzeba zatrudnić php, lub w javascripcie to zrobić.


(Poccnr) #3

No chciałam w Javie,ale nie wiem jaki scrypt, proszę o pomoc!


(Airborn) #4

no to w javie, czy w javascripcie? javascript nie nadaje się do walidacji czegokolwiek


(Blotny) #5

Airborn , JavaScript do sprawdzenia formularza się chyba nadaje...


(Airborn) #6

plunio7 , tak? a w niby jaki sposób?


(Elektrrrus) #7

Oczywiście, że sie nadaje.

Pierwotnie w ogóle javascript przeciez powstał do walidacji formularzy. Można np. do zdarzenia onsubmit forularza podipąć funkcje która sprawdzi poprawnośc. Mamy w javascripcie, wyrażenia regularne, sprawdzanie typu, prówynywania. Nie widze dlaczego niby javascript miałby się do tego nie nadawać.

Oczywiście, jest to tylko sprawdzanie wstępne i całość i tak powinna byc walidowania we współpracujący skrpcie po stronie serwera, ale prostą rzecz typu tester czy słówka zostały wprowadzone poprawnie jak najbardziej.

StaraPokrzywa - poszukaj poradników przez google, są nawet po polsku jak robić walidacje w javascripcie.


(Blotny) #8

Airborn , zweistein Ci wyjaśniło wszystko ot co.


(Airborn) #9

zweistein , plunio7 , to niech jeszcze którykolwiek z was powie mi jaka jest zaleta takiej pseudowalidacji skoro wszystko i tak trzeba jeszcze raz sprawdzać po stronie serwera...


(Elektrrrus) #10

A chciażby to, że zanim formularz wyśle się na serwer, i zacznie mielić jego moce przerobowe, to najpierw sprawdzony będzie po stronie uzytkownika.

Przykład - user zrobił błąd w formularzu

1 - walidacja w js : user dowiaduje się o ty od razu, poprawia, i wysyła na serwer poprawny

2 - walidacja tylko po stronie serwera : user wysyła, czeka aż serwer sprawdzi, podeśle nową stronę z informacja o błędzie.

Co jest lepsze z punktu widzenia tego usera?

Pozatym przy dużych serwisach, gdzie w gre wchodzą kwestie wydajnościowe i optymalizacji, walidacja szczególnie większych formularzy po stronie użytkownika jest wręcz konieczna.

I jeszcze jedno - przy takim wykorzytsaniu jak StaraPokrzywa w ogóle nie trzeba do tego zaprzęgać języka po stronie serwera, całość można oprogramować w javascripcie.


(Airborn) #11

I tutaj dochodzimy do meritum. Moim zdaniem walidacja nie jest po to by użytkownikowi ułatwić, życie, bo ułatwienie życia polegało by na całkowitej rezygnacji z walidacji (co z oczywistych celów jest nierealne), a po to by zabezpieczyć samą aplikację. Z jednej strony tak jak wspomniałeś, walidując wstępnie dane po stronie użytkownika jesteśmy w stanie oszczędzić trochę naszą maszynę, ale należało by się zastanowić jak duży procent użytkowników wprowadza błędne dane do systemu (mowa o użytkownikach nieświadomie powodujących błąd), i czy podwójna walidacja danych (zwiększająca narzut czasowy) w tym przypadku jest większą zaletą.


(Elektrrrus) #12

No niestety, z walidacji całkowicie się zrezygnować nie da(chociaż niektórzy "pro" programiści www tak myślą, skutki są opłakane). Skoro więc walidacja być musi, to lepiej robić ją również po stronie użytkownika. I z mojej praktyki wynika, że to ułatwia życie również userowi, a przy okazji oszczędza choć trochę moce przerobowe serwera. W przypadku błędów w forularzu to oszczędzi czas i usera i serwera. W przypadku braku błędów można się zastanawiać jak obciążające jest przesłanie kodu js do użytkownika. Z praktyki jednak widzę, że im większy formularz tym błędów jest więcej, a zdarzają się zdumiewająco często.