Využij akce až 30 % zdarma při nákupu e-learningu. Více informací. Zároveň je tento týden sleva až 80 % na e-learning týkající se C# .NET
Hledáme nového kolegu do redakce - 100% home office, 100% flexibilní pracovní doba. Více informací.
discount week 30 halloween
Avatar
Maros2470
Člen
Avatar
Maros2470:5.4.2020 11:23

Ahoj.
Jsem úplný začátečník a dělám si zatím jednoduchá cvičení. Zkouším jednoduchý translator s využitím funkce. Bez funkce mi to chodïlo. Při vypsání indexu pole mi vypisuje pouze -1.

Zkusil jsem:

<!DOCTYPE html>
<html lang="cs-cz">

    <head>
        <meta charset="UTF-8">
        <title>eli-elektro</title>
    </head>

        <body>
            <h1>Jednoduchý translator barev</h1>
            <input type="text" id="barva" size="5" />
            <button id="tlacitko">Přelož barvu!</button>

            <script type="text/javascript">

            window.onload = function()
            {
                let cesky = ["modrá", "červená", "zelená", "žlutá", "bílá", "šedá", "růžová"];
                let anglicky = ["blue", "red", "green", "yellow", "white", "silver", "pink"];
                let barva = document.getElementById("barva");
                let tlacitko = document.getElementById("tlacitko");
                let index = cesky.indexOf(barva.value);

                tlacitko.onclick = function()
                {
                    if(index >= 0)
                        document.write("anglický překlad barvy " + '"' + cesky[index] + '"' + ' je ' + '"' + anglicky[index] + '"');
                    else
                        document.write("barva není v databázi translatoru!");
                };
            }
            </script>
        </body>
</html>

Chci docílit: Snažím se zjistit v čem mám chybu. Když zadám do kódu přímo barvu, tak to funguje.
let index = cesky.indexOf("mo­drá");

index = 0

Díky za radu.

 
Odpovědět
5.4.2020 11:23
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Odpovídá na Maros2470
Matúš Olejník:5.4.2020 11:53

Ahoj, tú logiku na získanie indexu podľa zadanej farby "index = cesky.indexOf(bar­va.value);" treba vykonať až po kliku na to tlačidlo, pretože jeho hodnotu chceš získavať dynamicky podľa toho čo je v tom inpute :)

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět
5.4.2020 11:53
/* I am not sure why this works but it fixes the problem */
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 2 zpráv z 2.