Autor Zpráva
W4RDON
Profil
Dobrý den, potřeboval bych poradit: mám script na kontrolu délky hesla.. a potřebuji aby když podmínka vyhovuje se zobrazil jeden div a kdyz ne tak druhy. Vůbec nevím kde mám chybu, děkuji. Můj kod:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>FORM3</title>
  <script language="javascript" type="text/javascript">
  <!--
function kontrola(a){
var i= document.form.form2.value;
if (i.length>=8) {if (a.style.display=='none')
            {
            a.style.display='';}
          }
 else{document.write("spatně");}
} 
 //-->
  </script>
  <style type="text/css">
  #spravne{
  color:green;
  font-weight:bold;
  }
  #spatne{
  color:red;
  font-weight:bold;
  }
  </style>
  </head>
  <body>
<form name="form">
Zadejte heslo (minimálně 8 znaků) <input type="text" name="form2"><br>
<input type="submit" name="sub" value="Kontrola" onClick="kontrola('spravne');">
<div id="spravne" style="display:none;">Dobře</div>
<div id="spatne" style="display:none;">Špatně</div>
</form>
  </body>
</html>
SeparateSK
Profil
Namiesto kontrola('spravne') použi kontrola(document.getElementById('spravne'))
Lebo funkcií kontrola(a) si vlastne poskytol string a teda zasahuješ do stringu a nie do elementu: a.style.display=='none'

<input type="submit" name="sub" value="Kontrola" onClick="kontrola(document.getElementById('spravne'));">
W4RDON
Profil
Aha, ale i po doplnění tvé rady je výsledek pořád stejný, strána se refreshne a div se nezobrazi... potřeboval bych to podobně jak tady ale nechce se ten div zobrazit... http://www.2i.cz/2a8f1c36e5
SeparateSK
Profil
<style>
    *{font-family:Sans-Serif;}
</style>
<script>
    function Skontroluj(obj){
        var status=document.getElementById("status"); //ziskanie objektu/elementu, kde sa vypise vysledok
        if(obj.value.length>=8){
            status.style.color="green"; //nastavenie farby na zelenu
            status.innerHTML="Silne heslo"; //zmenenie textu
        } else {
            status.style.color="red";
            status.innerHTML="Slabe heslo";
        }
    }
</script>
Zadaj heslo: <input type="text" id="heslo" />
<button onClick="Skontroluj(document.getElementById('heslo')); return 0;"><b>Skontroluj heslo</b></button><br />
Sila hesla: <span id="status" style="font-weight:bold">???</span>
Nemusíš mať 2 elementy na to aby si zobrazil či to je dobre alebo či zle. Stačí aj jeden a potom zmeniť farbu fontu cez javascript a zmeniť text v ňom.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: