Autor Zpráva
Akali
Profil
Ahoj, kontroluju javascriptem obsah inputu. Potřebuji, aby do něj šli psát číslice od 1 do ... nekonečna?
Když to udělám takto, tak tam nejde napsat nula, což je správně.. Ale když tam nastavím číslice 1-2000 (třeba) tak tam jde napsat samostatná nula.. Pomohl by mi s tím někdo?
<script>
  var a = document.getElementById('cisla');
  var b="";
  a.onclick = a.onkeypress = a.onkeydown = a.onkeyup = a.ondbclick = a.onchange = function(){
  if(a.value.length > 0){  
    var REcisla = new RegExp("^[1-9]+$");  
    if (REcisla.test(a.value))
      b = a.value;
    else 
       a.value = b;
    }
  }
</script>
panther
Profil
Akali:
^[1-9]([0-9]+)?$

Něco takového? Nicméně, nezdá se mi, že by v JS chyběla funkce ověřující číslo.
Joker
Profil
Co třeba (první co mě napadlo):
if((cislo == parseInt(cislo)) && (cislo > 1))
_es
Profil
Akali:
Akosi postrádam zmysel toho celého „riešenia“. Na čo to je dobré?
A ešte k tomu takýmto spôsobom - sledovaním každého stlačeného klávesu.
Ak sa niekomu zmaže celé vyplnené políčko len preto, lebo má v čísle medzeru na oddelenie tisícov a miliónov, alebo zkopíroval do políčka takéto číslo, tak sa môže v rozčúlení na taký web vykašľať.
Akali
Profil
dobře, zpracuji to tedy jenom na straně serveru.. děkuji, pánové
_es
Profil
Akali:
dobře, zpracuji to tedy jenom na straně serveru.
Môže to byť skontrolované napríklad pri udalosti onsubmit formulára alebo nejaké automatické upozornenie vedľa políčka, že formát nie je v poriadku. Hlavne aby to nebolo tak, že sa píšucemu prepisuje priamo text, ktorý píše, po každom stlačení klávesy.
Akali
Profil
Pravda, ale já jsem javascript viděl tak maximálně z pětikilometrové výšky při letu z prahy do paříže. Tohle byl kód, kterej jsem našel na netu, tak jsem to zkusil. Ale i tak díky, pánové!

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0