![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Zastanawiam się jak zrobić, aby JavaScript w prosty sposób sprawdził dane z formularza (czy w roku email user wstawił znak @ i tak dalej) i dopuścił dane do skryptu php wtedy i tylko wtedy, jeśli dane przejdą walidację pomyślnie. Czy javascript posiada funkcję zatrzymania wysyłania danych z formularza?
-------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj o wyrażeniach regularnych lub znajdź gotowca na np. e-mail, później piszesz funkcję typu:
Kod <script> function sprawdz() { var errors = ''; if(jakiespole != costam) errors+="BLABLA1 \n"; if(jakiespole2 != costam2) errors+="BLABLA2 \n"; //itd if(errors == '') {return true;} else { alert(errors); return false;} } </script> ---------------------- <form action="itd" onSubmit="return sprawdz();"> Przypominam, że w skrypcie PHP też musisz sprawdzić poprawność danych na wypadek gdyby ktoś nie miał włączonego JS ![]() -------------------- |
|
|
![]()
Post
#3
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
ja bym proponował AJAX'a. z uwzględnieniem jQuery. naprawdę ciekawe rzeczy można z tym wyczyniać.
-------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Cytat ja bym proponował AJAX'a. z uwzględnieniem jQuery. naprawdę ciekawe rzeczy można z tym wyczyniać. @piotrooo89: a co Twoja wypowiedź wnosi do tematu? Gdybyś dał chociaż przykład zastosowania tu tych technologi(a raczej skryptów) lub jakiś algorytm to IMO miałoby to sens. To tak jakbym napisał: "ale przecież można użyć flasha lub Javy (nie JS), aby to zrobić , bo można 'tworzyć' ciekawe efekty" - i co nie miałbym racji? Tylko po co? -------------------- |
|
|
![]()
Post
#5
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
poszerzam zagadnienie.
Cytat Gdybyś dał chociaż przykład zastosowania tu tych technologi i co jeszcze pewnie będę musiał to odpowiednio skonfigurować aby działało? niech poszuka w googlach. rzuciłem temat ponieważ być może on nie wie że istnieje możliwość validacji formularza. btw. Twój przykład jest troszkę toporny i mało uniwersalny. -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Cytat i co jeszcze pewnie będę musiał to odpowiednio skonfigurować aby działało? niech poszuka w googlach. rzuciłem temat ponieważ Genialne! Ja zaproponowałem Javą - i co Twoim zdaniem to jest rozszerzenie tematu, czy zupełnie nie potrzebna informacja? Poza tym co trzeba konfigurować? I w końcu co ma poszukać w Google? Co to jest jQuery? Jak Twoim zdaniem ma wykorzystać tą wiedzę(skrypt), skoro nie wie co ma z tym zrobić? Napisz może jaki jest Twoje rozwiązanie problemu ~Asmox -a. Cytat być może on nie wie że istnieje możliwość validacji formularza. No racja nie wie. Tylko nie wiem dlaczego w temacie pyta o to jak to zrobić, dziwne co? Cytat btw. Twój przykład jest troszkę toporny i mało uniwersalny Chodzi Ci o:Kod if(jakiespole != costam) errors+="BLABLA1 \n"; to oczywiście if-a trzeba odpowiednio zmodyfikować np. żeby sprawdzał poprawność adresu e-mail (jeśli o to Ci chodzi). Jeśli nie oto to rozwiń co masz na myśli - mało uniwersalny? Podaj chociaż jedną wadę mojego rozwiązania w porównaniu z Twoim(choć nadal nie wiem jakie to rozwiązanie)Pozdrawiam PS. Nie miej mi za złe takiej krytyki Twoich postów(z tego tematu), ale po prostu nie mogę zrozumieć po co to napisałeś. Żeby mieć więcej postów/pomógł? Nie wierze - i tak masz ich już dużo, w takim razie po co? I nie mam Ci za złe, że udzielasz się w temacie - to dobrze, tylko jakbyś podał inne rozwiązanie problemu, a nie tylko technologię do realizacji tego problemu ![]() Ten post edytował kamil4u 8.03.2009, 21:56:59 -------------------- |
|
|
![]()
Post
#7
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
czy dostrzegasz subtelną różnice między Java a JS/AJAX? jeśli nie nie czytaj dalej. jeśli tak to rozwiązanie AJAX'em IHMO jest elegantsze i można z nim wyczyniać czego dusza zapragnie.
Cytat No racja nie wie. Tylko nie wiem dlaczego w temacie pyta o to jak to zrobić, dziwne co? zapytał wyraźnie o js, ja również js utożsamiam AJAX'a który przewyższa ją możliwościami. Cytat Podaj chociaż jedną wadę mojego rozwiązania w porównaniu z Twoim(choć nadal nie wiem po co) zrób sobie 100 pól w formularzu i przevaliduj wszystkie. albo chociaż 60%. good luck and have fun. Cytat PS. Nie miej mi za złe takiej krytyki Twoich postów(z tego tematu), ale po prostu nie mogę zrozumieć po co to napisałeś. Żeby mieć więcej postów/pomógł? Nie wierze - i tak masz ich już dużo, w takim razie po co? nie mam za złe, ponieważ prowadzimy dyskusje, a to forum dyskusyjne więc dopóki mnie nie obrażasz, krzyczysz etc jest OK ![]() co do tematu: http://marcgrabanski.com/pages/code/clean-form-validation jeden z najprostszych validatorów jQuery, sam z niego korzystam. a tu moja paczka wraz z przykładem użycia lekko przerobiona: http://www.sendspace.pl/file/0XAOOgYx/ -------------------- |
|
|
![]()
Post
#8
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Pozwolicie, że się wtrącę:
Cytat zapytał wyraźnie o js, ja również js utożsamiam AJAX'a który przewyższa ją możliwościami. A niby czym jest Ajax, jeśli nie JavaScriptem ? Ajax to ogólne określenie technologii, która pozwala w taki czy inny sposób na realizację żądania przeglądarki BEZ przeładowywania strony, czy to za pomocą iFrame, czy też obiektu HttpXMLRequest. Ale nadal jest to tylko JavaScript. Nie myl pojęć - AJAX to nie jest jakiś język programowania, przewyższający JS, jak to ująłeś. -------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#9
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
dlatego napisałem że utożsamiam JS z AJAX'em.
-------------------- |
|
|
![]()
Post
#10
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Cytat ja również js utożsamiam AJAX'a który przewyższa ją możliwościami. No to kogo przewyższa? Javę? Bo tak trochę niezrozumiale to ująłeś ![]() -------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Cytat jeśli tak to rozwiązanie AJAX'em IHMO jest elegantsze i można z nim wyczyniać czego dusza zapragnie. Chyba mylisz pojęcia: Ajax != jQuery ![]() Cytat AJAX (ang. Asynchronous JavaScript and XML, Asynchroniczny JavaScript i XML) – technologia tworzenia aplikacji internetowych, w której interakcja użytkownika z serwerem odbywa się bez przeładowywania całego dokumentu Cytat zapytał wyraźnie o js, ja również js utożsamiam AJAX'a który przewyższa ją możliwościami. Źle Cię zrozumiałem albo Ty mnie ![]() Cytat zrób sobie 100 pól w formularzu i przevaliduj wszystkie. albo chociaż 60%. good luck and have fun. Pętla i po sprawie ( przy założeniu, że validacja różnych pól będzie taka sama ![]() Cytat dopóki mnie nie obrażasz, krzyczysz etc Nie mam w zwyczaju obrażać kogoś dlatego, że się z nim nie zgadzam ![]() Cytat jeden z najprostszych validatorów jQuery, sam z niego korzystam. Nie korzystam z jQuery, ale mogę Cię zapewnić, że po lekkiej przeróbce mojego kodu mogę dostać taki sam efekt ![]() I widząc, że się nie rozumiemy napisze jeszcze raz prośbę do Ciebie: nie pisz jakich technologi można użyć, tylko jak je wykorzystać w danym temacie/problemie i o to mi się "rozchodzi" - gdybyś dał linka w swoim 1 poście nie byłoby całej tej dyskusji - tak sadze ![]() Pozdrawiam Ten post edytował kamil4u 8.03.2009, 22:26:59 -------------------- |
|
|
![]()
Post
#12
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
Cytat No to kogo przewyższa? no fakt troszke nie zrozumiałe, chodziło mi o to że AJAX przewyższa czystą JS. możliwości przy użyciu AJAX'a są większe aniżeli przy zastosowaniu samej JS. -------------------- |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
AJAX, to jest element JavaScript...
Ok, na temat proszę. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
1. Nie kłóćmy się
2. Czy jest w końcu jakiś sposób na zatrzymanie wysyłania danych do skryptu w pisanego w atrybut action ? 3. Czy nie ma ? 4. Oczywiście zamierzam wykorzystać do tego Ajax - formularze bez Ajaxa są do do niczego. -------------------- |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Czy jest w końcu jakiś sposób na zatrzymanie wysyłania danych do skryptu w pisanego w atrybut action ? Przy wywołaniu funkcji w onsubmit dajesz e.preventDefault() lub return false. Cytat 1. Nie kłóćmy się Waść prosisz, a sam co robisz? ![]() Cytat Oczywiście zamierzam wykorzystać do tego Ajax - formularze bez Ajaxa są do do niczego.
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#16
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
Cytat Czy jest w końcu jakiś sposób na zatrzymanie wysyłania danych do skryptu w pisanego w atrybut action ? dałem Ci gotowy skrypt + przykład użycia czego chcieć więcej? -------------------- |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Albo mi się wydaj albo nadal mylicie pojęcia: Ajax != jQuery. IMO AJAX-a można tu wykorzystać tylko po to, żeby zamiast JS pola zostały sprawdzone przez PHP i dynamicznie przesłać wynik zwrotny do przeglądarki (co IMO jest bez sensu) . Tak więc zwrot typu:
Cytat formularze bez Ajaxa są do do niczego. jest bzdurą (chyba, że rzeczywiście chcesz sprawdzać tak jak opisałem to powyżej, a nie tak jak w linku podanym przez ~piotrooo89) - i jak tu się nie kłócić ![]() Cytat Czy jest w końcu jakiś sposób na zatrzymanie wysyłania danych do skryptu w pisanego w atrybut action ? Jak byś miał czas (przypuszczam, że go nie masz bo w przeciwnym wypadku zrobiłbyś to) i przeanalizowałbyś w swej łaskawości mój kod(lub podany w linku przez ~piotrooo89) to byś się sam domyślił Ten post edytował kamil4u 10.03.2009, 21:26:52 -------------------- |
|
|
![]()
Post
#18
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
ja oczywiście się nie zgadzam z takim podejściem. jasne że można stworzyć wyczesaną w kosmos walidacje po stronie JS(chodzi mi tu o czyste JS bez używania frameworków). tylko jak dla mnie zrobienie czegoś w jQuery wydaje mi się takie przejrzyste i eleganckie, co rzecz jasna nie znaczy że JS też takie nie może być - nie chce tu uogólniać). ja rzeczywiście trochę namieszałem z tymi wszystkimi pojęciami. za co z góry przepraszam (używałem skrótów myślowych)
![]() -------------------- |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Wbrew pozorom się zgadzasz - napisze jeszcze raz:
Ajax to nie to samo co jQuery - Ajax służy do dynamicznego 'kontaktu' z innymi plikami np. PHP, a jQuery to biblioteka, która ułatwia życia webmasterowi ( chodź ja wolę samemu wiele rzeczy zrobić ![]() ![]() Cytat formularze bez Ajaxa są do do niczego. . Mam nadzieję, że już wszyscy znają różnicę, a autor strony poradził sobie ze swoim 'problemem' ![]() Pozdrawiam -------------------- |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 1 012 Pomógł: 109 Dołączył: 26.09.2003 Skąd: nexis.pl Ostrzeżenie: (0%) ![]() ![]() |
AJAX-a można tu wykorzystać tylko po to, żeby zamiast JS pola zostały sprawdzone przez PHP i dynamicznie przesłać wynik zwrotny do przeglądarki (co IMO jest bez sensu) Niby na jakiej podstawie tak twierdzisz? Sprawdzanie w ten sposób (czyli wysyłanie żądania do skryptu PHP i otrzymanie odpowiedzi) jest jednym z najlepszych rozwiązań, a dlaczego? Właśnie dlatego, że przy walidacji formularzy musisz walidować dwukrotnie (pierwszy raz w po stronie przeglądarki, drugi raz po stronie serwera). Po co więc dwa razy pisać odpowiednie walidatory? Lepiej wykorzystać ten napisany po stronie serwera po stronie przeglądarki. Jaki są dodatkowe plusy? O ile sprawdzanie składni adresu e-mail jest równie proste w JS jak PHP, to np. sprawdzenie rekordu MX na serwerze DNS w JS już chyba nie wygląda tak pięknie. ![]() -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 09:26 |