Autor Zpráva
Pavel Vlček
Profil *
Dobrý den. Chcy udělat tohle. Když uživatel napíše to, co je po něm požadováno a stiskne enter, stiskne se tlačítko pokračovat. Také potřebuji, aby se editační políčko objevilo až, když uživatel klikne na zahájit hru.

<html>

<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1250">
<title>procvičení paměti</title>
</head>
<body>
<h1>O hře a pravidla</h1>
<p>
Ve hře vám bude vygenerováno jedno číslo. Toto číslo musíte napsat zprávně. Učiníte-li tak, bude za první číslo vygenerováno druhé číslo. Tato dvě čísla musíte napsat a bude generováno další. Jde to do nekonečna. Já jsem si nejvíce zapamatoval 9 čísel.
</p>


<script>
spravnecisla=new Array();
b=0;
function pridejcislo() {
spravnecisla[b]=Math.round(Math.random()*9);
b++;
spravne=spravnecisla.join("")
return spravne }

function vyhodnotit() {
typ=document.getElementById("typ").value;
hledani = typ.search(/[^0-9-,]/);
if (hledani>-1) alert("Nezadal jsi číslo!");
if (spravnecisla.length==0) { pridejcislo(); alert("hodně štěstí. První číslo je: " + spravne);
document.getElementById("tlacitko").value="pokračovat"; }
else
if (typ==spravne) { pridejcislo(); alert("ano. Uhodl jsi. Další čísla jsou: " + spravne); document.getElementById("typ").value=" " }
else {
pocetciselp=spravnecisla.length
pocetcisel=pocetciselp-1
alert("Smůla. Uhodl jsi " +pocetcisel + " čísel.");
document.getElementById("tlacitko").value="zahrát si znovu"
document.getElementById("typ").value=""
} }
</script>

<form>
<label>
Zde napište číslo-čísla.
</label>
<input type=text id="typ">
<input type=button id="tlacitko" value="zahájit hru" onclick=vyhodnotit()>
</form>
</body
</html>

Díky za pomoc.
Ten java script je vpořádku, ale to tlačítko pokračovat se nestiskne při stisku enter při zadání čísla. Tento soubor je hra procvičení paměti. Je trochu divné, aby se editační políčko pro zadání čísla objevovalo ještě před zahájením hry.
peta
Profil
FORM onsubmit=
INPUT focus()

"Je trochu divné, aby se editační políčko pro zadání čísla objevovalo ještě před zahájením hry"
Jak si to nastavis, tak to funguje.
<input type=text id="typ">
<input type=button id="tlacitko" value="zahájit hru" onclick=vyhodnotit()>
ted to mas tak,ze button a policko se zobrazi hned.

http://www.volny.cz/peter.mlich/hry/hry.htm
Pavel Vlček
Profil *
Já ale potřebuji, aby se to políčko zobrazilo až po stisknutí tlačítka zahájit hru. Teď po vložení vašeho kódu se na stránce neprojevily žádné změny. Díky.
Pavel Vlček
Profil *
Já se vtom moc totiž nevyznám. Jsem začátečník.
Laman
Profil
Pavel Vlček
tomu, co nechceš hned zobrazit nastav id="cokoli" a style="display:none"
pak tlačítku na zahájení hry dej onclick="document.getElementById('cokoli').style.display='inline';vyho dnotit()"

tam, co máš
if (typ==spravne) { pridejcislo();   alert("ano. Uhodl jsi. Další čísla jsou: " + spravne);   document.getElementById("typ").value=" " }

vymaž mezeru mezi uvozovkami, jinak je potřeba ji před zadáváním čísel mazat

když prohraju a dám zahrát si znovu, zahlásí to jenom "Smůla. Uhodl jsi x čísel.". kde přesně to opravit v kódu, nevím

document.getElementById("tlacitko").value="pokračovat"

to umísti v kódu před alert s čísly (při zobrazení prvního čísla tam jinak pořád je "zahájit hru")

píše se "správně"

PS: můj rekord je 14. doporučuju rozdělovat si číslo na trojčíslí a při každém opakování si je říkat. kdysi jsem si tak postupně zapamatoval 32 číslic a ještě pořád je z hlavy napíšu bez chyby
Pavel Vlček
Profil *
Promiňte, že otravuji, ale prosím stručněji. Můžete mi napsat kód celého souboru s vaší změnou? Něco v té hře dělal kamarád. Já jsem tam dělal ta políčkaa ta tlačítka. Na tu chybu se jej zeptám. Díky.
Laman
Profil
takhle to funguje podstatně líp. ale není to úplně ono

<html>

<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1250">
<title>procvičení paměti</title>
</head>
<body>
<h1>O hře a pravidla</h1>
<p>
Ve hře vám bude vygenerováno jedno číslo. Toto číslo musíte napsat správně. Učiníte-li tak, bude za první číslo vygenerováno druhé číslo. Tato dvě čísla musíte napsat a bude generováno další. Jde to do nekonečna. Já jsem si nejvíce zapamatoval 9 čísel.
</p>

<script>
spravnecisla=new Array();
b=0;

function pridejcislo() {
spravnecisla[b]=Math.round(Math.random()*9);
b++;
spravne=spravnecisla.join("")
return spravne }

function vyhodnotit() {
document.getElementById("tlacitko").value="pokračovat"
typ=document.getElementById("typ").value;

hledani = typ.search(/[^0-9-,]/);

if (hledani>-1) alert("Nezadal jsi číslo!");
if (spravnecisla.length==0) { pridejcislo(); alert("hodně štěstí. První číslo je: " + spravne)}
else
if (typ==spravne) { pridejcislo(); alert("ano. Uhodl jsi. Další čísla jsou: " + spravne); document.getElementById("typ").value="" }
else {

pocetciselp=spravnecisla.length
pocetcisel=pocetciselp-1
alert("Smůla. Uhodl jsi " +pocetcisel + " čísel.");
document.getElementById("tlacitko").value="zahrát si znovu"
document.getElementById("typ").value=""

} }

</script>



<form>
<span id="X" style="display:none"><label>
Zde napište číslo-čísla.
</label>
<input type=text id="typ"></span>
<input type=button id="tlacitko" value="zahájit hru" onclick="document.getElementById('X').style.display='inline';vyhodnotit()">
</form>

</body>
</html>
Pavel Vlček
Profil *
Dobře. Jenže po stisknutí tlačítka zahájit hru se nic nestane. Díky.
Laman
Profil
překlep. opravil jsem ho
Pavel Vlček
Profil *
To je divné. Zase žádné reakce. Po kliknutí na to tlačítko se opět nestalo nic.
Laman
Profil
zkrátka vymaž mezeru mezi vyhodnoti a t, 4. řádek zdola
Pavel Vlček
Profil *
To jsem udělal.
Pavel Vlček
Profil *
Pomohly uvozovky. en se po stisku nezobrazí alert s prvním číslem. Jen to pole. Díky.
Pavel Vlček
Profil *
Dobrý den. Váš javascript nefunguje. Po kliknutí na tlačítko "zahájit hru" se nezobrazí alert s prvním číslem. Jen se objeví to editační políčko. Když jsem si nechal můj starý kód ajen jzměnil javascript na váš, tak to nezobrazilo též nic. Pokud to není scriptem, tak mi něco nejde. Podle scriptu v prvním přízpěvku to jde. Díky.
Laman
Profil
nemohu si pomoci, skript mi funguje (v IE i FF). uploadnul jsem na svůj web funkční důkaz. jestli ti funguje, zkopíruj zdroják a už mě nenapadá další chyba

+ještě jsem vylepšil pár věcí na kódu i ve funkci, už funguje i "zahájit další hru" bez problému. nevím, co s tím kódem nahoře je
smasty
Profil *
odporucam toto:
<input type=button id="tlacitko" value="zahájit hru" onclick="document.getElementById('X').style.display='inline';vyhodnotit()">

zmenit na
<input type=submit id="tlacitko" value="zahájit hru" onclick="document.getElementById('X').style.display='inline';vyhodnotit()">

potom netreba klikat, staci stlacit ENTER (Return)
Pavel Vlček
Profil *
Po vaší úpravě se strána restartuje, takže se mi zobrazí jen alert s prvním číslem, ale zůstane tam tlačítko zahájit hru.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0