Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcja wyrzucająca komunikat, gdy w input są tylko spacje
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
patrykz103
Witam,

Jest jakaś funkcja, bądź zmienna, która sprawdza czy w polu input są tylko znaki ?
Bo mam funkcje sprawdzającą tak:

Kod
    function liczby() {
       one = document.getElementById("one").value;
       two = document.getElementById("two").value;
    if (isNaN (one)) {
       document.getElementById('wynik').value = "Wstaw tylko liczby w polu Liczba 1!";
       return false;
    }


Da się do nawiasu "ifa" dopisać coś, żeby sprawdzało, czy w inpucie są jedynie spacje ?

Bo

Kod
isNaN



"Sprawdza", czy w inpucie są jakieś inne znaki, prócz liczb.

Może jest coś podobnego do isNaN ?
viking
Zobacz sobie kod http://locutus.io/php/var/empty/
patrykz103
Cytat(viking @ 15.09.2016, 12:36:28 ) *


Ten kod z linku nie zakłada z góry długości tego pustego elementu ? (przez wartość length)
Bo mam
Kod
else if (one == '') {
   document.getElementById('wynik').value = "Puste pole Liczba 1!";
   return false;
}

Które sprawdza czy input jest całkowicie pusty, i to działa, ale gdy wpiszę nawet 1 spacje, to już NaN <- i to chcę wyeliminować, nawet gdyby w input było 100 spacji..
trueblue
Jeśli prowadzisz działania tylko na liczbach całkowitych, to tak jak pisałem wczoraj, mógłbyś skleić obydwie funkcje - sprawdzającą i liczącą w całość.
Sprawdź co da parseInt z pustego pola lub z wypełnionego 'abc'. Ale sprawdź również co będzie, jeśli wpiszesz 1.23 lub 1,23.
viking
Length dotyczy iteracji po tablicy. Masz jeszcze inne funkcje np is_numeric
patrykz103
Cytat(trueblue @ 15.09.2016, 12:51:09 ) *
Jeśli prowadzisz działania tylko na liczbach całkowitych, to tak jak pisałem wczoraj, mógłbyś skleić obydwie funkcje - sprawdzającą i liczącą w całość.
Sprawdź co da parseInt z pustego pola lub z wypełnionego 'abc'. Ale sprawdź również co będzie, jeśli wpiszesz 1.23 lub 1,23.


Przykład działania:
1,23 + 2 = Wstaw tylko liczby do pola Liczba 1!
1.23 + 2 = 3

Łącząc dwie funkcje w całość, coś nie "pykło" thumbsdownsmileyanim.gif
Kod
<script type="text/javascript">
function liczby() {
   one = document.getElementById("one").value;
   two = document.getElementById("two").value;
if (isNaN (one)) {
   document.getElementById('wynik').value = "Wstaw tylko liczby w polu Liczba 1!";
   return false;
}
else if (isNaN (two)) {
   document.getElementById('wynik').value = "Wstaw tylko liczby w polu Liczba 2!";
   return false;
}
else if (one == '') {
   document.getElementById('wynik').value = "Puste pole Liczba 1!";
   return false;
}
else if (two == '') {
   document.getElementById('wynik').value = "Puste pole Liczba 2!";
   return false;
}
else if (!liczby()) {
    return;
}
    var one = parseInt(document.getElementById("one").value);
    var two = parseInt(document.getElementById("two").value);
    var dzialania = document.getElementById("dzialania").value;
    var wynik;
switch (dzialania) {
    case '': wynik = "Wybierz rodzaj działania!"; break;
    case '+': wynik = one+two; break;
    case '-': wynik = one-two; break;
    case '*': wynik = one*two; break;
    case '/': wynik = one/two; break;
    case '%': wynik = (one/two)*100 + '%'; break;
    }
    document.getElementById("wynik").value = wynik;
    return false;
}
return true;
}
</script>
trueblue
Sprawdź co da parseInt z pustego pola lub z wypełnionego 'abc'.
patrykz103
Cytat(trueblue @ 15.09.2016, 13:05:13 ) *
Sprawdź co da parseInt z pustego pola lub z wypełnionego 'abc'.

Działa biggrin.gif Dziękuję smile.gif
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.