Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js] enter w textarea
grzegorz_g
post
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 26.10.2004

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


mam oto taki kod do sprawdzania ilości znaków w textarea ale w momencie użycia entera kod źle liczy ilość znaków

  1.  
  2. testFormularza={
  3. rodzajePol:{
  4.  
  5. m20m100:[/^.{20,100}$/,'Proszę wpisać więcej niż 20 a mniej niż 100 znaków.'],
  6.  
  7. },
  8. testuj:function(f){
  9. var i,rodz;
  10.  


pokazuje błąd pomimo iż jest więcej znaków niż 20

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
grzegorz_g
post
Post #2





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 26.10.2004

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


to tylko skrót funkcji do walidacjii formularza

  1.  
  2. testFormularza={
  3. rodzajePol:{
  4. niepuste:[/.+/,'Prosze wypełnić pole'],
  5. email:[/^[\w\.-]{2,}@[\w\.-]+\.[a-z]{2,5}$/,'Falsches E-mail-Format'],
  6. liczbacalkowita:[/^\d+$/,'Prawidłową wartością tego pola jest liczba całkowita'],
  7. liczbarzeczywista:[/^(\d+|\d+,\d+)$/,'Proszę podać liczbę rzeczywistą (można użyć przecinka)'],
  8. data:[/^\d+\-\d+\-\d{4}$/,'Proszę wpisać datę w formacie DD-MM-RRRR (numer dnia-numer miesiąca-rok) np. 23-02-2003'],
  9. kodpocztowy:[/^\d{2}\-\d{3}$/,'Niepoprawny format kodu pocztowego np. 06-600'],
  10. telefon:[/\+\d{11}/,'Niepoprawny format nr telefonu np. +48666666666'],
  11. m20m100:[/^.{3,40}$/,'Proszę wpisać nie więcej niż 40 znaków, ale też nie mniej niż 3.'],
  12. m3m25:[/^.{3,25}$/,'Proszę wpisać nie więcej niż 25 znaków, ale też nie mniej niż 3.'],
  13. m5m80:[/^.{3,60}$/,'Proszę wpisać nie więcej niż 60 znaków, ale też nie mniej niż 3.'],
  14. m20m200:[/^.{3,200}$/,'Proszę wpisać nie więcej niż 200 znaków, ale też nie mniej niż 3.'],
  15. m20m4000:[/^.{20,4000}$/,'Proszę wpisać nie więcej niż 4000 znaków, ale też nie mniej niż 20.'],
  16. duzelitery:[/^[A-Z]+$/,'Proszę używać wyłącznie dużych liter w tym polu'],
  17. max:[/^[.\s]{20,4000}$/,'Max'],
  18. banner:[/^\d{4}\x\d{4}$/,'Niepoprawny format banera np. 9999x9999'],
  19. url:[/^http\:\/\/www.+\.[a-z]{2,5}$/,'Proszę podać prawidłowy adres strony www np. <a href="http://www.strona.pl'" target="_blank">http://www.strona.pl'</a>]
  20. },
  21. testuj:function(f){
  22. var i,rodz;
  23.  
  24.  
  25. var items = {pole1: 'm20m100', pole2: 'm20m100', pole3: 'm20m100', pole4: 'm20m100' , pole5: 'm20m100',pole6: 'm20m100' , pole_email: 'email', pole_email2: 'email', pole_niepuste1: 'niepuste' , pole_niepuste2: 'niepuste' , pole_niepuste3: 'niepuste', pole_niepuste4: 'niepuste' , pole_niepuste5: 'niepuste' , pole_liczbacalkowita1: 'liczbacalkowita', pole_liczbacalkowita2: 'liczbacalkowita', pole_liczbacalkowita3: 'liczbacalkowita', polemax: 'm20m4000' }
  26.  
  27.  
  28.  
  29. for(i=0;i<f.elements.length;i++){
  30.  
  31. E=f.elements[i];
  32.  
  33.  
  34.  
  35. //alert (E.getAttribute('id'));
  36.  
  37. if(rodz=this.rodzajePol[items[E.getAttribute('id')]])
  38.  
  39. if(!rodz[0].test(E.value)){
  40. E.focus();
  41.  
  42. E.select();
  43.  
  44.  
  45. document.getElementById("error").style.display = "block";
  46.  
  47. document.getElementById("error").innerHTML=(E.getAttribute('komunikat')||rodz[1]);
  48.  
  49.  
  50.  
  51. return false;
  52. }
  53. }
  54.  
  55.  
  56.  
  57. return true;
  58. }
  59.  
  60.  



i teraz jak zastosuje id="pole1" to używając w tym polu właśnie entera funkcja pokazuje błąd pomimo iż znaków jwst wiecej niż nakazuje wyrażenie regularne
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.12.2025 - 15:18