![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 27.04.2017 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Posiadam gotowy komponent dla Joomla i chciałem zmienić w nim pole tekstowe, żeby można było wprowadzać w nim tylko cyfry. Zmieniłem wpis type="text" na type="number". W chromie to działa, niestety w firefoxie nie i nie potrafię sobie z tym poradzić. Z tego co zdołałem doczytać, w firefoxie i tak po zmianie na "number" rozponaje tam też litery. Poniżej kod pliku .xml
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 77 Dołączył: 6.09.2008 Skąd: Miechów / Kraków Ostrzeżenie: (0%) ![]() ![]() |
Niestety firefox tak interpretuje pole typu "number" i tego nie zmienisz. Jedyne pocieszenie jest takie, że w przypadku wprowadzenia tekstu formularz nie zostanie wysłany, a pole zostanie podświetlone na czerwono.
Zamiast tego możesz dodać jakiś walidator w js, który będzie sprawdzał wprowadzane wartości i blokował wprowadzenie tekstu. -------------------- Niemożliwym jest stworzenie czegokolwiek idiotoodpornego, ponieważ idioci są wyjątkowo pomysłowi.
https://www.aroch.pl https://themeforest.net/user/aroch https://www.astroblog.aroch.pl https://www.4geeks.pl |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 27.04.2017 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za naprowadzenie. Znalazłem coś takiego:
http://jsfiddle.net/Lm2hS/ W jaki sposób wykorzystać to w moim przypadku? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 77 Dołączył: 6.09.2008 Skąd: Miechów / Kraków Ostrzeżenie: (0%) ![]() ![]() |
W taki jak jest w podanym przez Ciebie przykładzie
![]() Jeśli masz więcej tego typu pól i nie chcesz do każdego z nich dodawać tego ręcznie możesz w jakimś globalnym pliku z skryptami JS przypisać tą funkcję z przykładu do zdarzenia "onkeypress", dla wszystkich pól typu "number". -------------------- Niemożliwym jest stworzenie czegokolwiek idiotoodpornego, ponieważ idioci są wyjątkowo pomysłowi.
https://www.aroch.pl https://themeforest.net/user/aroch https://www.astroblog.aroch.pl https://www.4geeks.pl |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 27.04.2017 Ostrzeżenie: (0%) ![]() ![]() |
No dobrze, próbowałem znaleźć jakieś informacje, ale nawet nie wiem jak zacząć szukać. Specjalnie kupiłem gotowy komponent żeby nie musieć kombinować, nawet zapytałem tego co go tworzył i odpisał mi, że w firefox to nie działa i tyle ; ) Także skoro on nie jest w stanie mi pomóc to sam zacząłem kombinować, ale programistą nie jestem i niestety mam z tym problem. Nie do końca rozumiem, czy maja to być dwa osobne pliki i w tym moim pliku xml mam wskazać na .js? Próbowałem w ten sposób i nie działa. Mam tylko jedno pole textowe.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
A jaki to problem? Firefox i tak nie pozwoli wysłać tego formularza, wyświetli wcześniej błąd.
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 27.04.2017 Ostrzeżenie: (0%) ![]() ![]() |
To jak w takim razie ma to być rozwiązane żeby działało w Firefox?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 77 Dołączył: 6.09.2008 Skąd: Miechów / Kraków Ostrzeżenie: (0%) ![]() ![]() |
Jeśli masz tylko jedno takie pole to po prostu dodaj do niego ten fragment odpowiedzialny za sprawdzanie
Kod onkeypress="return isNumber(event)" Oprócz tego, skoro to jest gotowy komponent, znajdź jego główny plik js i dodaj na samym końcu funkcję sprawdzającą: Kod function isNumber(evt) { evt = (evt) ? evt : window.event; var charCode = (evt.which) ? evt.which : evt.keyCode; if (charCode > 31 && (charCode < 48 || charCode > 57)) { return false; } return true; } Tak jak napisał @viking, pytanie, czy jest to w ogóle potrzebne? Firefox nie wyśle formularza jeśli w tym polu będzie tekst. -------------------- Niemożliwym jest stworzenie czegokolwiek idiotoodpornego, ponieważ idioci są wyjątkowo pomysłowi.
https://www.aroch.pl https://themeforest.net/user/aroch https://www.astroblog.aroch.pl https://www.4geeks.pl |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 27.04.2017 Ostrzeżenie: (0%) ![]() ![]() |
Wiem, ja też byłbym zdania żeby tego nie zmieniać skoro i tak dalej nie puszcza formularz, ale to zalecenia odgórne i niestety muszę to zmienić.
Zrobiłem tak jak napisałeś. Mam pliki information.xml i information.js niestety po dodaniu tych linijek zero efektu. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 77 Dołączył: 6.09.2008 Skąd: Miechów / Kraków Ostrzeżenie: (0%) ![]() ![]() |
Sprawdź czy w wygenerowanym formularzu przy polu "number" jest ta modyfikacja oraz czy plik information.js jest załadowany na tej stronie. Jeśli tak sprawdź czy jest w nim kod z funkcją. Odśwież też cache przeglądarki.
-------------------- Niemożliwym jest stworzenie czegokolwiek idiotoodpornego, ponieważ idioci są wyjątkowo pomysłowi.
https://www.aroch.pl https://themeforest.net/user/aroch https://www.astroblog.aroch.pl https://www.4geeks.pl |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 05:57 |