Autor Zpráva
+ěškarel
Profil *
Udělal jsem si hru ada v JS je uploadlá na adrese, pokud by jste ji chteli videt, potom co se had kousne mi vyskočí hláška (alert) s hodnoutou vašeho skore. Chtěl bych aby vyskocil formular v html, kde by jste napsali jmeno a vse by se ulozilo do databaze.
Jedniná možnost, kterou znam je přesměrování ale to nechci (window.location.href).
Pokud nekdo ví jak bych mohl vlozit HTML formular do JS, ktery vyskoci jako jako okno pres alert, budu mu vděčny za radu.
PS: s ulozenim do dababaze nemam problem, pouzenevim co s tim formulářem.
_es
Profil
+ěškarel:
Jedniná možnost, kterou znam je přesměrování ale to nechci (window.location.href).
Formulár môžeš smerovať aj do nového okna, alebo do elementu frame či iframe - atribút target.
+ěškarel
Profil *
Jojo dik, ale to je dost podobné, jako poslední možnost to udělám. Moje představa byla, že se ten formulář ukaže stejně jako například hláška alert.
Díky , kdyby jsi třeba věděl jak vložit HTML do JS, tak napiš dík.
Trejpa
Profil
+ěškarel:
Díky , kdyby jsi třeba věděl jak vložit HTML do JS, tak napiš dík.
window.alert("vložený <b>HTML</b> kód");, což samozřejmě nefunguje podle očekávání.

A teď vážně. Javascript má pochopitelně více vyskakovacích okének, než jen alert. K napsání samotného jména se hodí prompt.

Další možností je výsledek nezobrazovat ve vyskakovacím okně, ale překrýt stránku dosud skrytým HTML elementem, do něj vypsat výsledek a zadávací políčka s tlačítkem, které uloží jejich obsah do proměnných.

V obou výše uvedených případech dostaneš výsledek a jméno do proměnných v JavaScriptu. O jejich odeslání se postarej Ajaxem.
juriad
Profil
<body style="width: 100%; margin: 0px;">
    <div id="hra" style="background-color: blue; width: 800px; height: 600px; margin: auto; position: relative;">
        <div id="had" style="position: absolute; width: 50px; height: 25px; left: 250px; top: 300px; background-color: red">
        </div>
        <script>
            var kroky = window.setInterval(function() {
                var had = document.getElementById('had');
                var novyLeft = parseInt(had.style.left) - 25;
                had.style.left = novyLeft + 'px';
                if(novyLeft <= 0) {
                    window.clearInterval(kroky);
                }
            }, 500);
        </script>
    </div>
    <div id="formular" style="position: fixed; left: 0px; right: 0px; top: 0px; bottom: 0px; display: none; background-color: white; opacity: 0.8">
        <div style="width: 600px; margin: auto; margin-top: 3em;">
            <h1 style="color: red;">Game Over</h1>
            Vaše skóre je 123 bodů.
            <hr>
            <form>
                <label for="jmeno">Jméno</label>
                <input type="text" name="jmeno" id="jmeno">
                <br>
                <input type="submit" value="Odeslat">
            </form>
        </div>
    </div>

    <script>
        window.setTimeout(function() {
            document.getElementById('formular').style.display = 'block';
        }, 5500);
    </script>
</body>
+ěškarel
Profil *
ok tak diky :).... no na ajax se vykaslu...konecne mam po maturite cas se tomu venovat a kdybyhc ted vrtal jeste v ajaxu, kdo ví jak by to dopadlo.
proste udelam formular s opacity 0 ...a pres jquery to změním jak mile hra zkončí.
cely form odelsu na soubor.php.
Díky za rady.
Moderátor jenikkozak: Piš prosím trochu pečlivěji.
margin
Profil *
+ěškarel:
proste udelam formular s opacity 0
Tak to tam bude, akorát nebude vidět. Použij třebas visibility nebo dostatečně velkou zápornou absolutní pozici.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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