Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] zakres liczb w polu input
Forum PHP.pl > Forum > Po stronie przeglądarki
grzegorz_g
mam taki oto formularz:

  1. <form method="post" name="zlicz3" id="zlicz3" style="display:inline;" action="indexbets.php">
  2.  
  3. <input type="hidden" name="kurs2" id="kurs2" value="<? print $agg ?>" />
  4. <input type="text" id="f1" value="" />
  5. </form>


w jaki najprostszy sposób ograniczyc pole f1 dla zakresu liczb np. 100 - 2000 ; tel liczby bedą generowane przez php.
m.mix
hmmm.. no skoro to ma byc generowane przez PHP to chyba nic lepszego niz rand(100,2000) smile.gif

a zeby nie byc goloslownym to maly cytacik z helpa do PHPa:
Cytat
Notatka: Na niektórych platformach (jak na przykład Windows) RAND_MAX to tylko 32768. Aby uzyskać wartości większe niż 32768, należy podać odpowiednie wartości argumentów min and max, co pozwoli na wygenerowanie wartości większych niż RAND_MAX. Można też użyć funkcji mt_rand().

Notatka: Od PHP w wersji 4.2.0 nie ma potrzeby inicjalizować generatora liczb losowych funkcją srand() lub mt_srand(), ponieważ dzieje się to automatycznie.


Notatka: W wersjach przed 3.0.7 argument max znaczył zakres. Aby otrzymać takie same wyniki w tychże wersjach, należy użyć rand (5, 11) aby otrzymać liczbę losową z przedziału od 5 do 15.
grzegorz_g
ale mi chyba nie o to chodzi, ja chce by user nie mógł wpiac w pole input ( wartości innej niz z okresolonego zakresu), ma to byc robione po stronie przegladarki
m.mix
aha, no to sie nie zrozumielismy..
skoro tak to pewnie trzeba napisac funkcje wywolywana w sekcji OnChange dla tego pola, ktora bedzie tylko sprawdzala czy w ogole wprowadzono liczbe a nie literki no i czy ta liczba jest 100<liczba<2000..
grzegorz_g
zrobiłem tak:

  1. function showPayout2() {
  2.  
  3. var e = document.getElementById("payoutTD2");
  4.  
  5. var kurs2 = document.zlicz3.kurs2.value;
  6. var stk2 = document.zlicz3.stawka.value;
  7. var liczba2 = ( kurs2 * stk2 );
  8.  
  9. liczba2=liczba2*100;
  10. wynik2 = Math.round(liczba2)/100;
  11.  
  12. if (stk2>1000) {
  13.  
  14. window.alert ("Limit");
  15.  
  16. } else {
  17.  
  18.  
  19. e.innerHTML = wynik2;
  20. return true;
  21.  
  22. }
  23. }


teraz jest juz prawie dobrze , alert "limit" pokazuje mi w odpowiednim momencie, ale jak zrobić by "wymazawc" ostatnia cyfrę z pola stawka - bo pomimo alertu ona tam ciagle jest
seiya
Kod
document.zlicz3.stawka.value = document.zlicz3.stawka.value.substr(0, document.zlicz3.stawka.value.length - 1);

http://w3schools.com/jsref/jsref_substr.asp
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.