Autor Zpráva
Davidsm
Profil *
Dobrý den, mohli byste mně prosím zkontrolovat tento skript? Snažím se o vyhledávací funkci a pořád mně to háže chyby...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<HTML>
<HEAD>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
<TITLE>Switch v praxi</TITLE>
</HEAD>
<BODY>
<form id="hledani">
<input type="text" name="jmeno" />
<input type="button" value="Hledej" onclick="hledej()">
</form>
<script type="text/javascript">
//<![CDATA[
function hledej () {
fotbalista = document.forms.hledani.jmeno.value;

switch (fotbalista)
{
case "Novák" :
document.write("Michal Novák");
break;
case "Müllner" :
document.write("Jiří Müllner");
break;
case "Krchňák" :
document.write("Jakub Krchňák");
break;
case "Obrlík" :
document.write("Jan Obrlík");
break;
case "Jugas" :
document.write("Robin Jugas");
break;
case "Škrášek" :
document.write("Filip Škrášek");
break;
case "Karásek" :
document.write("štěpán Karásek");
break;
case "Sychra" :
document.write("Martin Sychra");
break;
case "Kučerovský" :
document.write("Adam Kučerovský");
break;
case "Kubalec" :
document.write("Martin Kubalec");
break;
default:
document.write("Je nám líto, ale hráč " + fotbalista + "
není registrovaný");
}
}
//]]>
</script>

</BODY>
</HTML>




Děkuji
David
Měsíček
Profil
Nechce se mi s tím párat, ale tohle by fungovat mělo.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="cs">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    
    <title>Switch v praxi</title>

  </head>
  
<script type="text/javascript"> 

  function hledej() { 

    var fotbalista = document.hledani.jmeno.value; 

      switch (fotbalista) 
  
        { 

            case "Novák" : 
              document.write("Michal Novák"); 
                break; 
            case "Müllner" : 
              document.write("Jiří Müllner"); 
                break; 
            case "Krchňák" : 
              document.write("Jakub Krchňák"); 
                break; 
            case "Obrlík" : 
              document.write("Jan Obrlík"); 
                break; 
            case "Jugas" : 
              document.write("Robin Jugas"); 
                break; 
            case "Škrášek" : 
              document.write("Filip Škrášek"); 
                break; 
            case "Karásek" : 
              document.write("štěpán Karásek"); 
                break; 
            case "Sychra" : 
              document.write("Martin Sychra"); 
                break; 
            case "Kučerovský" : 
              document.write("Adam Kučerovský"); 
                break; 
            case "Kubalec" : 
              document.write("Martin Kubalec"); 
                break; 
            default: 
              document.write("Je nám líto, ale hráč "+fotbalista+" není registrovaný"); 

      } 
} 

</script> 
</head> 
<body> 

<form name="hledani" action="#" onSubmit="hledej();"> 
  <input type="text" name="jmeno" value=""> 
  <input type="submit"> 
</form> 

</body>
</html>
Davidsm
Profil *
Díky moc
Davidsm
Profil *
Ale bohužel mně to funguje jenom u jmen, kde nejsou písmena s háčkami, tečkami a čárkami...
Měsíček
Profil
Změň kódování souboru (v META tagu) a nebo při ukládání.

Kódování souboru a Kódování v META tagu se musí shodovat. (pak to půjde)
Davidsm
Profil *
Takže:)? .... V tomhle se moc nevyznám....
Chamurappi
Profil
Reaguji na Davidsm:
Metoda document.write zavolaná až po načtení dokumentu ti zruší aktuální stránku, ale to ti předpokládám nevadí.

Jde to vyřešit i bez switche:
function hledej()
{
  var fotbalista = document.hledani.jmeno.value;
  document.write({"Novák": "Michal Novák", "Müllner": "Jiří Müllner"}[fotbalista] || ("Je nám líto, ale hráč " + fotbalista + " není registrovaný"));
}
Davidsm
Profil *
To je možná lepší...tak díky všem

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: