Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> [HTML][JavaScript] Połączenie skryptów
bubus_s
post 20.08.2010, 09:19:38
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 15.06.2009
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Witam.

Chce połączyć 2 skrypt js mają podobne zastosowanie.
Muszę łączyć bo w form może być chyba tylko jedno id.

Moje form wygląda tak:

  1. <form id="form1" class="cmxform" action="http://mojaweb.pl" method="post">


1 skrypt
[JAVASCRIPT] pobierz, plaintext
  1. $.validator.setDefaults({
  2. submitHandler: function() {
  3. alert("submitted!");
  4. }
  5. });
  6.  
  7. $.metadata.setType("attr", "validate");
  8.  
  9. $(document).ready(function() {
  10. $("#form1").validate();
  11. $("#selecttest").validate();
  12. });
[JAVASCRIPT] pobierz, plaintext


2 skrypt
[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function(){
  2. $("#rejestracja").validate({
  3. rules: {
  4.  
  5. name: {
  6. required: true,
  7. minlength: 0
  8. },
  9.  
  10.  
  11.  
  12. email: {
  13. required: true,
  14. email: true
  15. }
  16. },
  17. messages: {
  18.  
  19.  
  20.  
  21. name:{
  22. required: "Pole Imie nie może być puste",
  23. minlength: "Nie wpisaleś imienia"
  24. },
  25.  
  26.  
  27.  
  28. email:{
  29. required: "Wprowadź adres e-mail",
  30. email: "Wprowadź poprawny adres e-mail"
  31. }
  32.  
  33. },
  34. success: function(label) {
  35. label.html("&nbsp;").addClass("sprawdzony");
  36. }
  37.  
  38. });
  39. });
[JAVASCRIPT] pobierz, plaintext


Chce to połączyć w jakąś całość lub znaleźć rozwiązanie aby działało bo w form może być jedno ID.
Stosuję tylko jedno form lub kilka jeżeli będzie to poprawnie działać.
Go to the top of the page
+Quote Post
thek
post 20.08.2010, 09:31:02
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Czemu więc to co w $(document).ready(function() w obu, nie umieścisz razem? winksmiley.jpg Ja nie widzę powodu by nie miało działać


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
bubus_s
post 20.08.2010, 09:41:14
Post #3





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 15.06.2009
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Zrobiłem tak:
[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function(){
  2. $("#rejestracja2").validate({
  3. $("#form1").validate();
  4. $("#selecttest").validate();
  5. rules: {
  6.  
  7. name: {
  8. required: true,
  9. minlength: 0
  10. },
  11.  
  12.  
  13.  
  14. email: {
  15. required: true,
  16. email: true
  17. }
  18. },
  19. messages: {
  20.  
  21.  
  22.  
  23. name:{
  24. required: "Pole Imie nie może być puste",
  25. minlength: "Nie wpisaleś imienia"
  26. },
  27.  
  28.  
  29.  
  30. email:{
  31. required: "Wprowadź adres e-mail",
  32. email: "Wprowadź poprawny adres e-mail"
  33. }
  34.  
  35. },
  36. success: function(label) {
  37. label.html("&nbsp;").addClass("sprawdzony");
  38. }
  39.  
  40. });
  41. });
[JAVASCRIPT] pobierz, plaintext


Nie działa. Nie znam się na js.

ale w form jak wpiszę rejestracja waliduje mi pola a jak wpisze form1 waliduje mi checkboxa bo tak są ustawione id.
Chce aby wpisac np calosc i walidowało mi za jednym razem wszystko.
Trzeba te 2 skrypty jakos polaczyc.
Go to the top of the page
+Quote Post
thek
post 20.08.2010, 09:52:23
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




To w jQuery poczytaj czym różni się wywołanie $("#formularz") od $(".formularz") i pomyśl czy to nie jest to o co Ci chodzi oraz jak to wetknąć by były jedne reguły walidacji do choćby 100 formularzy na stronie. Swoją droga więcej niż jeden form na stronie jest czasem ryzykownym działaniem, jeśli stosowane to jest nieumiejętnie.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
everth
post 20.08.2010, 09:58:57
Post #5





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

Ostrzeżenie: (0%)
-----


Nie kalecz. Nie rozumiem co chcesz osiągnąć - aplikować formularz walidacji do różnych id? Zobacz poniżej:
[JAVASCRIPT] pobierz, plaintext
  1. var validateRules = { //wzorzec walidacji (chyba tak ta wtyczka działa, nie chce mi się sprawdzać
  2. rules: {
  3. name: {
  4. required: true,
  5. minlength: 0
  6. },
  7. email: {
  8. required: true,
  9. email: true
  10. }
  11. // reszta tego badziewia
  12. }
  13. }
  14.  
  15. $(document).ready(function() {
  16. $("#form1,#selecttest,#rejestracja").validate(validateRules);
  17. //jakie tam jeszcze chcesz formularze pod te zasady
  18. });
[JAVASCRIPT] pobierz, plaintext


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
bubus_s
post 20.08.2010, 10:08:56
Post #6





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 15.06.2009
Skąd: Lublin

Ostrzeżenie: (0%)
-----


No dobra zadziałało.
Dzięki wielkie za pomoc.
A co ten kod to taki duży badziew?
Go to the top of the page
+Quote Post
thek
post 20.08.2010, 10:20:24
Post #7





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




everth... zamiast wywalać tyle id do formularza, o wiele prościej zrobić podpięcie pod klasę. Co jest prostsze i elastyczniejsze w przyszłości do ponownego wykorzystania:
[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function() {
  2. $("#form1,#selecttest,#rejestracja").validate(validateRules);
  3. //jakie tam jeszcze chcesz formularze pod te zasady
  4. });
[JAVASCRIPT] pobierz, plaintext
z wywołaniem i dopisywaniem za każdym razem nowego id formularza
  1. <form id="form1" class="cmxform" action="http://mojaweb.pl" method="post">
czy może:
[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function() {
  2. $(".formularz").validate(validateRules);
  3. //jakie tam jeszcze chcesz formularze pod te zasady
  4. });
[JAVASCRIPT] pobierz, plaintext
z wywołaniem:
  1. <form id="form1" class="cmxform formularz" action="http://mojaweb.pl" method="post">
i pchnięcie tego do dodatkowego pliku js, który zrobi za bibliotekę funkcji własnych opartych o jQuery?


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
everth
post 20.08.2010, 10:25:35
Post #8





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

Ostrzeżenie: (0%)
-----


@thek: to może ja mu jeszcze formularz z CSSem napiszę? Samo wrzucanie kilku formularzy na jedną stronę jest proszeniem się o kłopoty. Stosowanie podpięcia pod ID czy klasę jest sprawą drugorzędną.


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
thek
post 20.08.2010, 11:09:07
Post #9





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Everth... Ne chodzi by mu cokolwiek pisać gotowego, tylko podpowiedzieć mu elastyczniejsze rozwiązanie i być może sam oceni co mu bardziej pasuje. Zwróć uwagę o czym pisałem bo nie dałem gotowca wcale, ale posłużyłem się przeklejką Twojego kodu JS jako możliwego rozwiązania. Chodzi mi o DRY jedynie. Lepiej napisać ten kod raz by mógł odwołać się do niego kiedykolwiek, zwyczajnie dołączając plik js gdy będzie potrzebny. Jeśli na stronie w formularzu będziesz miał 15 datepickerów to też zdefiniujesz im wszystkim w skrypcie id? A co jeśli tworzysz datepickery dynamicznie i nie znasz ich id po prostu? Chodzi mi tylko o wygodę rozwiązania. Jeśli element może być wykorzystany wielokrotnie w obrębie strony lub formularza to wygodniej jest go pchnąć nie przez id, ale klasę.

I samo użycie kilku formów na jednej stronie, jeśli zrobi to nieumiejętnie, określiłem jako proszenie się o kłopoty kilka postów temu w tym temacie.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
karer
post 20.08.2010, 11:11:07
Post #10





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 15.08.2010

Ostrzeżenie: (10%)
X----


[ZAL]ŻAL MI TEGO FORUM
Go to the top of the page
+Quote Post
erix
post 20.08.2010, 11:15:00
Post #11





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Żal mi leniów. Bo mogą się nauczyć, a nie chcą. :<


--------------------

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!
Go to the top of the page
+Quote Post

Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.04.2025 - 05:46