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

question-closed Sprawdzanie danych w formularzu - bez przeładowania strony

Object Storage Arubacloud
0 głosów
314 wizyt
pytanie zadane 21 grudnia 2019 w PHP przez milogab2004 Początkujący (440 p.)
zamknięte 21 grudnia 2019 przez milogab2004

Dzień dobry,

Mam następujący problem. Chcę zrobić stronę, na której po wpisaniu kodu w input (form) przycisk poniżej zostanie aktywowany (zmiana z "" na "disabled"). Wstępny kod wygląda tak:

		<form name="kod" method="post" id="kod">
		<input type='text' name='kodkarty' maxlength='11' autofocus /></form>
		
		<script type="text/javascript">
		setTimeout("document.forms['kod'].submit()",1500)
		</script>
		
		<?php
			$kodkarty = $_POST['kodkarty'];
			
			if(strlen($kodkarty) == 11){
				$buttonaktywny = "";
			}
			else{
				$buttonaktywny = "disabled";
			}
			
			
		echo<<<END
			<form method="post">
		
			<button type="submit" $buttonaktywny>CLICKME </button>
			
			</form>
END;
?>

W teorii wszystko działa tak jak należy, ale chciałbym, aby input kodu był częścią formularza z button. I tu moje pytanie - jak bez odświeżania strony sprawdzić, czy w input jest wpisany 11-cyfrowy kod i wtedy odblokować przycisk? (przykład na stronie WD MyCloud (login))

Wiem, że odpowiedź jest bardzo prosta, ale jestem początkujący i mam z tym duży kłopot...

Z góry dziękuje. 

komentarz zamknięcia: Rozwiązanie problemu

1 odpowiedź

+1 głos
odpowiedź 21 grudnia 2019 przez DawidK Nałogowiec (37,910 p.)
wybrane 21 grudnia 2019 przez milogab2004
 
Najlepsza

Sprobuj keyup event na pole inut.

index.html (z JS)

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Page Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" media="screen" href="main.css" />
</head>
<body>
    <form>
        <input id='input' type='text' maxlength='11'>
        <button type='submit' id='submit-button' disabled>wyslij</button>
    </form>

    <script>
        const input = document.querySelector('#input');
        const submitButton = document.querySelector('#submit-button');

        input.addEventListener('keyup', checkEnable);

        function checkEnable(){
            if(input.value.length === 11){
                submitButton.disabled = false;
            } else {
                submitButton.disabled = true; 
            }
        }
    </script>


    
</body>
</html>

 

komentarz 21 grudnia 2019 przez milogab2004 Początkujący (440 p.)

Wszystko działa tak, jak chciałem! Bardzo dziękuję za pomoc!! smiley

Podobne pytania

0 głosów
5 odpowiedzi 674 wizyt
pytanie zadane 17 grudnia 2018 w PHP przez jared Gaduła (3,600 p.)
0 głosów
2 odpowiedzi 1,378 wizyt
pytanie zadane 7 października 2017 w HTML i CSS przez Mavimix Dyskutant (8,390 p.)
0 głosów
0 odpowiedzi 201 wizyt

92,579 zapytań

141,427 odpowiedzi

319,654 komentarzy

61,961 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...