Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno datum a čas do inputu

zdravím,
chtěl jsem se zeptat, jak mám upravit kod níže, aby se mi do klasického textového inputu zobrazoval datum a čas...

<script>
function naplnCas (){
var datum = new Date(); // prave aktualni cas
aktualniCas = datum.getHours() + "." + datum.getMinutes() + ":" + datum.getSeconds();
// vybral jsem z data, co potrebuju a obalil znamenky, aby se to prevedlo na retezec
window.document.getElementById("cas").innerHTML = aktualniCas;
// vypocitana hodnota se vklada jako html dovnitr elemnetu, ktery ma id "cas"
}

naplnCas(); //naplneni na zacatku
window.setInterval("naplnCas()", 1000); //pravidelna zmena, 1000 je sekunda

</script>

<span id="cas"></span>
Předmět Autor Datum
No hlavně by bylo vhodné tam ten input vůbec mít.
Wikan 14.01.2014 17:32
Wikan
jop ten tam už mám, ale nevím, jak ten skript upravit,aby se mi zobrazoval datum a čas v tom inputu.…
tomas.s 14.01.2014 17:34
tomas.s
window.document.getElementById('id_inputu').value = aktualniCas;
Wikan 14.01.2014 17:35
Wikan
a ještě otázka - kde mám ten kód vložit? Protože takhle to nefunguje... :-( <script> function napln…
tomas.s 14.01.2014 17:38
tomas.s
Místo: window.document.getElementById("cas").innerHTML = aktualniCas;
Wikan 14.01.2014 17:41
Wikan
ja nevim, co dělám špatně, ale stejně mi to nejede
tomas.s 14.01.2014 17:54
tomas.s
Taky nevím, co děláš špatně. Mně to v pohodě funguje.
Wikan 14.01.2014 17:58
Wikan
<div style="padding: 30px 10px 10px;"> <script> function naplnCas (){ var datum = new Date(); aktua…
tomas.s 14.01.2014 18:05
tomas.s
Script dej úplně na konec stránky.
Wikan 14.01.2014 18:08
Wikan
a pak by to mělo fungovat? takže pokud jsem to dobře pochopil, tak to má být prvně input a pak skrip…
tomas.s 14.01.2014 18:24
tomas.s
Zkus a uvidíš.
Wikan 14.01.2014 18:26
Wikan
furt nic
tomas.s 14.01.2014 18:31
tomas.s
Pořád tam máš to innerHTML.
Wikan 14.01.2014 18:34
Wikan
kde? window.document.getElementById("cas").value = aktualniCas; <- tohle?
tomas.s 14.01.2014 18:35
tomas.s
window.document.getElementById("cas").innerHTML = aktualniCas;
Wikan 14.01.2014 18:35
Wikan
taky ne... tím to taky není
tomas.s 14.01.2014 18:37
tomas.s
Ale to tam právě vůbec být nemá. Už nevím, jak ti to vysvětlit.
Wikan 14.01.2014 18:38
Wikan
aha jo ták - :-D (omlouvám se za nechápavost) - a dá se, aby se ten input sám aktualizoval? prostě a…
tomas.s 14.01.2014 18:39
tomas.s
No vždyť se tím scriptem aktualizuje.
Wikan 14.01.2014 18:41
Wikan
Nevím jak to máš, ale mě to funguje: <input type="text" id="cas" value=""> <script> function naplnC…
ERASER 14.01.2014 20:54
ERASER
použij tag output http://www.w3schools.com/tags/tryit.asp?filename=t ryhtml5_output
mnua.al 14.01.2014 19:48
mnua.al
Základom je používať ladiace nástroje, ktoré poskytujú všetky rozumné prehliadače. Takže stlač F12 a…
los 14.01.2014 22:03
los
ok díky, už to šlape :-) poslední
tomas.s 17.01.2014 15:17
tomas.s

a ještě otázka - kde mám ten kód vložit? Protože takhle to nefunguje... :-(

<script>
function naplnCas (){
var datum = new Date(); // prave aktualni cas
aktualniCas = datum.getHours() + "." + datum.getMinutes() + ":" + datum.getSeconds();
// vybral jsem z data, co potrebuju a obalil znamenky, aby se to prevedlo na retezec
window.document.getElementById("cas").innerHTML = aktualniCas;
// vypocitana hodnota se vklada jako html dovnitr elemnetu, ktery ma id "cas"
}

naplnCas(); //naplneni na zacatku
window.setInterval("naplnCas()", 1000); //pravidelna zmena, 1000 je sekunda

window.document.getElementById('cas').value = aktualniCas;
</script>

<input type="text" id="cas">

<div style="padding: 30px 10px 10px;">

<script>
function naplnCas (){
var datum = new Date();
aktualniCas = datum.getHours() + "." + datum.getMinutes() + ":" + datum.getSeconds();
window.document.getElementById("cas").innerHTML = aktualniCas;
}
naplnCas();
window.setInterval("naplnCas()", 1000);
window.document.getElementById("cas").value = aktualniCas;
</script>

<input type="text" id="cas">

</div>

Je to komplet zdroják pro ten oddíl...

Nevím jak to máš, ale mě to funguje:

<input type="text" id="cas" value="">
<script>
function naplnCas (){
var datum = new Date();
aktualniCas = datum.getHours() + "." + datum.getMinutes() + ":" + datum.getSeconds();
window.document.getElementById("cas").value = aktualniCas;
}
naplnCas();
window.setInterval("naplnCas()", 1000);
window.document.getElementById("cas").value = aktualniCas;
</script>

Základom je používať ladiace nástroje, ktoré poskytujú všetky rozumné prehliadače. Takže stlač F12 alebo Ctrl+Shift+I alebo niečo podobné, aby sa zobrazil webový inšpektor. V ňom je záložka s konzolou, v ktorej sú vypísané všetky chybové hlásenia z aktuálnej stránky. Z nich je potom zrejmé, kde je chyba.

A ešte pár poznámok:
1. V zápise window.document.getElementById nie je potrebné písať window. V kontexte prehliadača je window globálny objekt, takže stačí napísať document.getElementById. To isté sa týka window.setInterval.

2. Funkcia setInterval síce akceptuje ako vstup aj reťazec, ale v tomto prípade je to úplne zbytočné použitie kanóna na vrabce. V niektorých prostrediach by sa taký zápis ani nespustil vďaka Content Security Policy. Dá sa to zapísať priamo ako setInterval(naplnCas, 1000).

3. Lokálna premenná aktualniCas nie je deklarovaná, chýba tam kľúčové slovo var. Takto sa z nej stala globálna premenná.

Zpět do poradny Odpovědět na původní otázku Nahoru