IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
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
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í
+2,50 Kč
Ř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.