![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 9.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
W JS jestem zielony jak szczypior na wiosnę i potrzebuję pomocy. Mam dwa inputy określające szerokość i wysokość pola. Warunkiem jest , że jeden z wymiarów nie może przekroczyć 150 cm Wymyśliłem taki kod
Ale pętla nie bardzo działa. Działa walidacja, pilnuje czy wartości nie są za małe i czy sa liczbami ale to wszystko. Proszę uprzejmie o pomoc zielonemu. Pozdrawiam ermar |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jaka pętla?
Sprawdź co zwraca konsola błędów. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 9.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nie działa warunek z if jeżeli szerokość jest >150 tylko wykonuje się to co w else. To samo tyczy się drugiego if.
W Konsoli nie ma błędów dotyczących js, w firebug też error jest czysty. Z pewnością źle coś robię ze zmiennymi ale nie wiem czego szukać ;/ |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
1.
sprawdz co jest w tych zmiennych 2.
3.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 9.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
alert (zmienna) - wyskakuje okienko a w nim [object Object]
alert (typeof zmienna) - wyskakuje okienko a w nim object A ostatnie parseInt(wysokosc) > 150 - nie działa skrypt. tzn działa ale tak jak działał. Nie bierze warunku z if pod uwagę - działa tylko else Ten post edytował ermar 5.11.2011, 09:59:47 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A co ta klasa zwraca (IMG:style_emoticons/default/questionmark.gif) Jaki obiekt (IMG:style_emoticons/default/questionmark.gif) Dowiedz się tego a rozwiążesz problem.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 10 Dołączył: 1.03.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dlatego do debugowania stosować lepiej console.log(). Zmienić te alerty i zobacz co wyskoczy. Wynik console.log możesz zobaczyć w konsoli:
- Chrome wciśnij CTRL+SHIFT+i - Firefox dograj firebuga - IE zmień przeglądarkę na inną |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Zmienne wysokosc i szerokosc przechowują obiekty. Nie możesz bezpośrednio porównać obiektów do liczb. Dowiedz się co zawierają te obiekty. Prawdopodobnie będzie trzeba porównać pole tych obiektów do liczb.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 9.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ok - z manula wiem już że zwraca
Returns: true if valid or throws a Validate.Error object containing the failure message Tylko teraz pytanie - bo nie bardzo kumam - jak mam sprawdzić czy jest true skoro mam jakby to sprawdzenie wewnątrz if. Wiem, że to banalne pytania ale js to dla mnie czarna magia |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nieważne co zwraca. Ważne, jakie pola zawiera.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 9.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Z całym szacunkiem ale zaczęło się pisanie dla sztuki.
Ja wiem, że nie wiem. Nie znam js i nie kryje się z tym. Nie wiem jak się dobierać do obiektów w js. Walidacja przy pomocy LiveValidation jest super dla takiego lamera jak jak. Odpalam i działam bez większych problemów jeżeli chodzi o normalny formularz. W php jest prosto - przesyłam sobie dane do skryptu i wszystko widzę. Pytam w przedszkolu bo to chyba miejsce dla takich jak ja. Przecież ja nie znając podstaw nie wiem nawet dokładnie o co odpytać google. Ta walidacja to ułomek całej aplikacji phpowej na którą mam mało czasu i dlatego proszę o pomoc ludzi doświadczonych w tej dziedzinie bo wykładam się na czymś prostym dla praktyka js. Zdaje sobie sprawę, że daje się wędkę a nie rybę ale naprawdę mam nóż na gardle. Wymyśliłem sobie takie coś bo myślałem, że ruszy:L
ale to zupełnie nie działa. Obiecuje, że chętnie się z js podszkolę jak skończę to co aktualnie dłubie bo jest niestety coraz bardziej potrzebne. Jeżeli dążymy do tego aby opłacić poradę to proszę o info o cenie za usługę pomocy z js. Pozdrawiam |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Skoro to gotowy skrypt, to chyba jest do tego jakaś instrukcja? (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 9.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Tak - jest.
Odnosi się jednak do standardowej walidacji pól. Z tym nie mam problemu. To opis " Numericality (static function) Top Validates that the value is numeric and: is an integer, is a specific number, is more than a minimum number, less than a maximum number, is within a range of numbers, or a combination of these NB - numbers expressed in scientific form (ie 2e3, being 2000) are handled correctly, as are negative numbers, and floats. Arguments: value - {mixed} - value to be checked paramsObj (optional) - {Object} - object containing parameters to be used for the validation Parameters for paramsObj: notANumberMessage (optional) - {String} - message to be used when validation fails because value is not a number (DEFAULT: “Must be a number!”) notAnIntegerMessage (optional) - {String} - message to be used when validation fails because value is not an integer (DEFAULT: “Must be an integer!”) wrongNumberMessage (optional) - {String} - message to be used when validation fails when ‘is’ param is used (DEFAULT: “Must be {is}!”) tooLowMessage (optional) - {String} - message to be used when validation fails when ‘minimum’} param is used (DEFAULT: “Must not be less than {minimum}!”) tooHighMessage (optional) - {String} - message to be used when validation fails when ‘maximum’} param is used (DEFAULT: “Must not be more than {maximum}!”) is (optional) - {mixed} - the value must be equal to this numeric value minimum (optional) - {mixed} - the minimum numeric allowed maximum (optional) - {mixed} - the maximum numeric allowed onlyInteger (optional) - {Boolean} - if true will only allow integers to be valid (DEFAULT: false) Returns: true if valid or throws a Validate.Error object containing the failure message Example: // check that value is an integer between -5 and 2000 exists in the string, case insensitive... Validate.Numericality( 2e3, { minimum: -5, maximum: 2000 } ); " Podziwiam, że warto się tak dowartościowywać kosztem niewiedzy innej osoby. Ten post edytował ermar 5.11.2011, 13:54:12 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Kto się niby dowartościowuje? Mimo Twojego niegrzecznego zachowania odpowiem Ci.
Dopiero teraz zauważyłem, że przypisujesz wartość LiveValidation do zmiennej, którą walidujesz. Napisałeś, że zwraca to prawdę/fałsz. Przypisz LiveValidation do innych zmiennych, np. szerokoscWalidacja/wysokoscWalidacja. Wtedy szerokosc i wysokosc pozostaną nietknięte. |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 9.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
To nie jest tak do końca, że moje zachowanie jest niegrzeczne.
Po prostu frustrujący jest brak rzeczowej odpowiedzi, poza lakoniczną wstawką o czytaniu manuala z emotikonem na końcu. Trudno - odebrałem jako sarkazm - jeżeli uraziłem Cię - przepraszam. Co do skryptu to naprawdę nie wiem jak dalej. Zastosowałem sie do Twojej rady i podmieniłem zmienne ale nie działa.
Pewnie czegoś nie rozumiem. A jedyny error który dostaje w firebug to "document.test is undefined". Form ma nadany id="test". |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Zamiast dokument.test spróbuj dać document.forms[0].Może to pomoże.
Dziwne ale document.test też powinien działąc-może masz jakąś literówkę -wielkość liter w nazwach też ma znaczenie. |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Masz kilka błędów. Spróbuj tak:
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 9.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Raczej nie mam błędu w nazwach. document.form[0] też nie działa.
Dam może jeszcze form do obejrzenia
croc - niestety nie działa - tzn nic się nie dzieje. Nie dostaje komunikatu o błędzie. Nie ważne czy wpisuje tekst czy cyfry nic się nie dzieje. W firebug tylko document.test is undefined [Wstrzymuj na tym błędzie] var szerokosc = document.test.szerokosc.value; Po prostu skrypt leży i kwiczy. Skończyły mi się pomysły. Czuję się jak bym naprawiał samochód (IMG:style_emoticons/default/smile.gif) Jeżdżę bo umiem i znam obsługę auta ale pewnych rzeczy nie naprawię. Wkleiłem wyżej forma - może coś to da . Mam już tam ustawione zdarzenie może to bruździ ? Nie wiem naprawdę. Ten post edytował ermar 5.11.2011, 14:44:47 |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Spróbuj dać cały blok <script type="text/javascript"></script>poza obszar formularza. Nie wiem czy prawidłowo ,zrobiłeś umieszczając cały js w tagu<form>.
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 9.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Wyrzuciłem za form ale niestety żadnej zmiany.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 11:30 |