Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
[JS] Poprawność inputa - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: xHTML, CSS, JavaScript (https://www.webmastertalk.pl/forum-xhtml-css-javascript)
+--- Wątek: [JS] Poprawność inputa (/thread-js-poprawno%C5%9Bc-inputa)



[JS] Poprawność inputa - michalszyd - 05-07-2011

Witam,
Mam taki oto kod:
Kod:
<script type="text/javascript">
document.getElementById(\'chip\').onkeyup = function() {
    var chips = this.value;
    var signs = /^[0-9]+$/g
    if (!signs.test(chips))
        {
            alert("To nie jest liczba!");
            this.select();
    }
}
</script>

Z ww kodu wynika, że do pola input można wprowadzić tylko liczby.
Problem polega na tym, że jak wprowadzi się znak inny niż cyfra, wyskakuje okienko (jak na razie wszystko dobrze), a po kliknięciu ok, w polu nadal widnieje postawiony ten znak (np: 382e).

Jak sprawić, aby po kliknięciu w ok, wartość inputu była bez tych znaków (np. 382)?


RE: [JS] Poprawność inputa - Kartofelek - 05-07-2011

return false Smile


RE: [JS] Poprawność inputa - michalszyd - 05-07-2011

(05-07-2011, 02:53)Kartofelek napisał(a): return false Smile

Hmm.. Albo nie o to chodzi, albo nie umiem zastosować return.

Wpisuję w pole liczbę "1000".

Następnie dopisuję "j".

Mamy "1000j".

Jednocześnie wyskakuje informacja, że można wpisać tylko cyfry.
Po wciśnięciu "OK", w polu nadal mamy "1000j".

Chciałbym, aby po tym wciśnięciu "OK" usuwało niedozwolone znaki, lub żeby ich tam wcale nie wprowadzało.


RE: [JS] Poprawność inputa - Kartofelek - 05-07-2011

bo masz keyup.
Możesz tak:
http://www.dotnetspider.com/resources/23015-Input-Digits-only-from-TextBox-Using-Javascript.aspx

Możesz keypress lyb keydown i wtedy wykrywać znak - przykładów masz milion pińset w necie Smile


RE: [JS] Poprawność inputa - michalszyd - 05-07-2011

(05-07-2011, 17:33)Kartofelek napisał(a): Możesz tak:
http://www.dotnetspider.com/resources/23015-Input-Digits-only-from-TextBox-Using-Javascript.aspx

No dobra, fajnie, działa. Tylko teraz mam problem, ponieważ nie wiem jak połączyć to z wyświetlaniem tego co się wpiszę obok.
Kod:
<input onkeyup="document.getElementById('chips').innerHTML=this.value" type="text"><span id="chips"></span>
Z JS dopiero co zaczynam się kolegować;]


RE: [JS] Poprawność inputa - michalszyd - 06-07-2011

Mam już to połączenie:
Kod:
onkeyup="AcceptDigits(this);document.getElementById(\'chips\').innerHTML=this.value"

Teraz tylko pozostaje sprawdzić czy wpisana wartość w pole chips nie jest większe od zmiennej $max (połączenie JS z PHP).

Jeżeli jest większe, to żeby w tym polu ustawiała się wartość tej zmiennej.

Czytam, czytam ale nic nie mogę wymyślić:/ Pomożecie?


RE: [JS] Poprawność inputa - Kartofelek - 06-07-2011

zle czytasz. W ogóle źle podchodzisz do tego.
http://doman.art.pl/kursjs/kurs/jquery/jquery_ajax.html