Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Funkcja wyrzucająca komunikat, gdy w input są tylko spacje
patrykz103
post 15.09.2016, 11:30:24
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 14.09.2016

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


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 ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
viking
post 15.09.2016, 11:36:28
Post #2





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


Zobacz sobie kod http://locutus.io/php/var/empty/


--------------------
Go to the top of the page
+Quote Post
patrykz103
post 15.09.2016, 11:41:51
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 14.09.2016

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


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..

Ten post edytował patrykz103 15.09.2016, 11:52:12
Go to the top of the page
+Quote Post
trueblue
post 15.09.2016, 11:51:09
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


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.


--------------------
Go to the top of the page
+Quote Post
viking
post 15.09.2016, 11:51:46
Post #5





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


Length dotyczy iteracji po tablicy. Masz jeszcze inne funkcje np is_numeric


--------------------
Go to the top of the page
+Quote Post
patrykz103
post 15.09.2016, 11:57:18
Post #6





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 14.09.2016

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


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>
Go to the top of the page
+Quote Post
trueblue
post 15.09.2016, 12:05:13
Post #7





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Sprawdź co da parseInt z pustego pola lub z wypełnionego 'abc'.


--------------------
Go to the top of the page
+Quote Post
patrykz103
post 15.09.2016, 13:34:24
Post #8





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 14.09.2016

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


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
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 20.07.2025 - 04:29