• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed JS - sprawdzenie czy wpisane dane to liczba

VPS Starter Arubacloud
0 głosów
1,282 wizyt
pytanie zadane 10 listopada 2019 w JavaScript przez xyz91 Nowicjusz (210 p.)
zamknięte 12 listopada 2019 przez xyz91

Witam,

Potrzebuje napisać funkcję, która będzie sprawdzała czy w kilka pól wpisane są liczby, nie tekst oraz będzie wyświetlany odpowiedni komunikat. Proszę o pomoc.

Aktualny kod w html wygląda tak:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">

</script>
</head>
<body>
<table bgcolor="green">
<form name="formularz" onsubmit="sprawdzDane()" method="POST" action="dodajDane.php">
<tr>
    <td>Wartość X1:</td><td><input type="int" name="X1"></td>
</tr>
<tr>
	<td>Wartość X2:</td><td><input type="int" name="X2"></td>
</tr>
<tr>
    <td>Wartość X3:</td><td><input type="int" name="X3"></td>
</tr>
<tr>
    <td>Wartość X4:</td><td><input type="int" name="X4"></td>
</tr>
<tr>
    <td>Wartość X5:</td><td><input type="int" name="X5"></td>
</tr>
<tr>
   <td><b>Wentylacja:</td>
</tr>
<tr>
   <td><input type="checkbox" name="wentylacja"><b>wyłączona<br></td>
</tr>
<tr>
   <td><input type="checkbox" name="wentylacja50"><b>50%<br></td>
</tr>
<tr>
   <td><input type="checkbox" name="wentylacja100"><b>100%<br><hr></td>
</tr>
<tr></tr><tr></tr>
<tr>
    <td><input type="checkbox" name="ogrzewanie"><b>Ogrzewanie On/Off</b><br></td>

</tr>
<tr>
    <td><input type="checkbox" name="swiatlo"><b>Światło On/Off</b><br></td>
</tr>
<tr>
    <td><input type="checkbox" name="pozar"><b>Pożar</b><br></td>
</tr>
<tr>
	<br>
	<td colspan="2" align="center"><br>
		<input type="submit" value="Wyślij" name="Dane" >
		<input type="reset" value="Wyczyść">
	</td>
</tr><tr>
</table>

 

komentarz zamknięcia: Rozwiązanie znalezione.

4 odpowiedzi

0 głosów
odpowiedź 10 listopada 2019 przez michal_php Stary wyjadacz (13,700 p.)
A jakiś kod js pokażesz w, ktorym miejscu masz problem?
komentarz 10 listopada 2019 przez xyz91 Nowicjusz (210 p.)
edycja 10 listopada 2019 przez xyz91
Miałem coś takiego, ale już wiem, że to nie ma sensu.
komentarz 10 listopada 2019 przez michal_php Stary wyjadacz (13,700 p.)
var int = /[0-9]/g;
var input = document.getElementById('jakiś input');


if(int.test(intput.value){
console.log('liczba');
}else console.log('tu mogą być tyko liczby');

Cos na szybko pisane 

komentarz 10 listopada 2019 przez xyz91 Nowicjusz (210 p.)

Dzięki a jak to potem wstawić w submita? Tak ma wyglądać? W  miejsce "jakis input" wstawiam x1,x2 itd.?

function sprawdzDane(){
var int = /[0-9]/g;
var input = document.getElementById('jakiś input');
 
if(int.test(intput.value){
console.log('liczba');
}else console.log('tu mogą być tyko liczby');
}
<form name="form" onsubmit="sprawdzDane()" method="POST" action="dodaj.php">

 

 

komentarz 10 listopada 2019 przez michal_php Stary wyjadacz (13,700 p.)

submita normalnie ładujesz do fomra. Ale warto abyś zablokował tego submita kiedy ktoś do inputa wrzuci nie liczbę:

document.getElementById("id danego submita").disabled = true;

 

komentarz 10 listopada 2019 przez xyz91 Nowicjusz (210 p.)
Dzięki, już poradziłem sobie z problemem.
0 głosów
odpowiedź 10 listopada 2019 przez Paweł Nąckiewicz Nałogowiec (48,990 p.)

Nie musisz pisać takiej funkcji, wystarczy że zabezpieczysz swoje inputy aby dostępne było wprowadzanie tylko liczb - input type="nubmer"

komentarz 10 listopada 2019 przez Tomek Sochacki Ekspert (227,510 p.)
nieprawda, taki typ inputa pozwala na wprowadzanie znaków, które liczbą nie są, a dodatkowo pozwala na wprowadzanie wartości float, a nie wiemy, czy czasami w tym przypadku nie chcemy tylko integer.
komentarz 10 listopada 2019 przez Paweł Nąckiewicz Nałogowiec (48,990 p.)
Zgadzam się ale kolega napisał, że interesują go liczby. Jeśli ktoś wprowadzi wartość -4.67 to nadal jest to liczba :)
1
komentarz 10 listopada 2019 przez Comandeer Guru (599,730 p.)

Akurat to przecież można kontrolować atrybutami [min][max] i [step].

1
komentarz 10 listopada 2019 przez Tomek Sochacki Ekspert (227,510 p.)

i tak i nie... prosty przykład:

html:
<input id="number" type="number" min="0" max="10" step="1"/>

js:
document.getElementById('number')
  .addEventListener('input', e => console.log(e.target.value));

i spróbuj wpisać z łapki w polu wartość "5.4", uda Ci się to i value tego pola będzie miało właśnie taką liczbę. Oczywiście strzałeczkami dla typu number tego nie zrobisz, ale zawsze jest opcja wpisania ręcznie.

1
komentarz 10 listopada 2019 przez Comandeer Guru (599,730 p.)

No dobra, ale wówczas pole będzie oznaczone jako nieprawidłowe: 

document.getElementById('number')
  .addEventListener('input', ( { target: input } ) => console.log( input.value, input.checkValidity() ) );

A skoro jest nieprawidłowe, to znaczy, że to nie jest liczba.

0 głosów
odpowiedź 10 listopada 2019 przez obl Maniak (51,280 p.)
console.log(typeof(123)); // wyświetli "number"
console.log(typeof(null)); // wyświetli "object"
console.log(typeof("some string")); // wyświetli "string"

 

0 głosów
odpowiedź 10 listopada 2019 przez manager96 Bywalec (2,050 p.)
Mam ważniejsze pytanie do tego tematu, jak potem wstawić te zdjęcia i gify żeby zrobić wizualizację ?? Jak musi wyglądać ten formularz

Podobne pytania

0 głosów
1 odpowiedź 1,528 wizyt
pytanie zadane 8 czerwca 2015 w JavaScript przez Mizukage Pasjonat (21,730 p.)
0 głosów
2 odpowiedzi 438 wizyt
pytanie zadane 21 maja 2015 w JavaScript przez ArturB Mądrala (6,060 p.)
0 głosów
2 odpowiedzi 264 wizyt
pytanie zadane 13 listopada 2017 w HTML i CSS przez manjaro Nałogowiec (37,390 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...