Avatar
martinkobelka
Redaktor
Avatar
martinkobelka:

Dobrý den

Potřeboval bych reagovat na událost změny hodnoty zadané do textového pole. Zatím mám tento kód. Kód funguje, ale když obsah vymažu klávesou backspace, tak se nezobrazí chyba a tlačítko odeslat zůstane aktivní. Nevíte někdo způsob jak to vyřešit?

<form>
                <table>
                    <tr>
                        <td><label for="jmeno" class="musiByt">Jméno*</label></td>
                        <td><input type="text" value="" name="jmeno" id="jmeno" /></td>
                    </tr>
                     <tr>
                        <td><label for="prijmeni" class="musiByt">Příjmení*</label></td>
                        <td><input type="text" value="" name="prijmeni" id="prijmeni"/></td>
                    </tr>
                     <tr>
                        <td></td>
                        <td><input type="submit" value="Odeslat" id="odeslat" name="prijmeni" disabled=""/></td>
                    </tr>
                </table>
            </form>
            <script type="text/javascript">

                var label = document.getElementById("jmeno");
                var label2 = document.getElementById("prijmeni");
                var chyba = document.getElementById("chyba");
                var odeslat = document.getElementById("odeslat");

                var jmeno = "";
                var prijmeni = "";

                function myfunction(){
                    jmeno = label.value;
                    prijmeni = label2.value;
                    if(jmeno.length < 6 || prijmeni.length < 6){
                        chyba.innerHTML = "Jméno a přijiméní musí mít nejméně 6 znaků";
                        odeslat.disabled = true;
                    }
                    else{
                        chyba.innerHTML = "";
                        odeslat.disabled = false;

                    }
                }

                label.onkeypress = myfunction;
                label2.onkeypress = myfunction;

            </script>

Předem děkuji za odpověď

 
Odpovědět 26.6.2015 20:34
Avatar
Tonda Kozák
Člen
Avatar
Odpovídá na martinkobelka
Tonda Kozák:

Zkus změnit onkeypress na onkeyup / onkeydown.

 
Nahoru Odpovědět 26.6.2015 21:08
Avatar
Tonda Kozák
Člen
Avatar
Tonda Kozák:

Mimochodem, nevím, na co to máš, ale například ani moje jméno, ani příjmení nemá požadovaných 6 znaků.

Edit:
je možné jen onkeyup, onkeydown ti nebude dobře fungovat.

Editováno 26.6.2015 21:15
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 26.6.2015 21:13
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.