Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]Czy znak wpisany na klawiaturze jest akceptowany
Forum PHP.pl > Forum > Po stronie przeglądarki
Szunaj85
Mam napisany w PHP formularz kontaktowy. Składa się on z kilku zmiennych. Jedną z tych zmiennych jest pole w którym internauta wpisuje treść.
Jestem totalnie zielony w javascript.
Chcę stworzyć skrypt, który będzie miał zdefiniowane jakie znaki można wpisać, a jakie nie.
Skrypt na bieżąco sprawdzałby co użytkownik wpisuje i gdy wpisze "zabroniony" znak wyświetliłby komunikat (alert).
Np. Skrypt nie zezwala na wpisanie *.
Internauta wpisuje tekst i wciśnie *, wtedy wyskoczyłby komunikat: "znak * jest niedozwolony".
Tylko tutaj pytanie. Czy jest możliwe przypisanie informacji o konkretnym znaku jaki wciśnie internauta do komunikatu (alert-u)?
Żeby nie było! - mam na myśli kod
Jeżeli internauta wciśnie * wyświetl komunikat: "znak * jest niedozwolony".
Jeżeli internauta wciśnie # wyświetl komunikat: "znak # jest niedozwolony".
Jeżeli internauta wciśnie % wyświetl komunikat: "znak % jest niedozwolony".itd
Tylko!
komunikat: "znak (znak który wciśnie internauta) jest niedozwolony".

Jeżeli nie jest to możliwe wystarczy sam komunikat (alert).
Kod
                   <script type="text/javascript">
         ...
                   alert('Te znaki nie są dozwolone');
                   </script>

Podsumowując nie chcę zablokować internaucie wpisanie znaku "zabronionego", ale jedynie poinformowanie go, że jest on zabroniony.
erix
Dostosuj sobie: http://forum.php.pl/index.php?showtopic=108354 winksmiley.jpg
Szunaj85
Nie wiem coś mi nie idzie.
Czy nie lepiej byłoby zdefiniować litery, cyfry i znaki które można wpisać niż te których nie można wpisać?
erix
Można. Zrób sobie wyrażenie regularne, JavaScript też to przecież posiada. winksmiley.jpg
Szunaj85
Kod
<script type="text/javascript">
     function dopuszczalne_znaki(tresc,goodSigns)
     {      
           for (i=0; i<tresc.length; i++)
           {
                 sign=tresc.charAt(i)
              if (goodSigns.indexOf(sign,1234567890abcdefghijklmnoprstuwxyz) == -1)
                   { return false }
           }
                   else
                   {alert('Te znaki nie są dozwolone!');}
           return true;
     }
     </script>

Nie wiem coś takiego?
Tylko nie wiem co wpisać w "input" żeby wywołać skrypt.
erix
A czytałeś wątek, do którego zalinkowałem?

PS.
Kod
if (goodSigns.indexOf(sign,1234567890abcdefghijklmnoprstuwxyz) == -1){ return false }

sprawdź, jak wygląda składnia indexOf. winksmiley.jpg Drugi parametr, to nie są dopuszczalne znaki.
Szunaj85
Jasne, że czytałem. Po prostu mi się pokaszaniło.
Chyba o to chodzi.
Kod
<script type="text/javascript">
      function dopuszczalne_znaki(tresc,1234567890abcdefghijklmnoprstuwxyz)
      {      
            for (i=0; i<tresc.length; i++)
            {
                  sign=tresc.charAt(i)
               if (goodSigns.indexOf(sign,0) == -1)
                    { return false }
            }
                    else
                    {alert('Te znaki nie są dozwolone!');}
            return true;
      }
      </script>

Czy jeszcze gdzieś widzisz błędy.
erix
Ok, powiedz, w jakim celu robisz coś takiego:
Kod
function dopuszczalne_znaki(tresc,1234567890abcdefghijklmnoprstuwxyz)

Nie wywala Ci przypadkiem błędu? tongue.gif Proponuję zacząć od lektury kursu JS.
Apocalyptiq
Polecam jQuery winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.