Diskuze: Nefunguje function javascript v formuláři FORM
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 15 zpráv z 15.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.


Ahoj, mas tam dva preklepy - u idcka a u onclick eventu, prepis si to na:
<form>
<input type="text" id="output" name="pocetHodin" onclick="startPause()">
</form>
Zdravím to už je opravené a stejne to nejde pokud je ten input vložen ve <form></form> Pokud je vložen mimo tak to funguje ok
Jo, tak to ma do fungovani jeste hodne daleko. Nasel jsem tam desitky chyb,
ze kterych lze usoudit, ze programu vubec nerozumis, netusis, co kdy a proc
dela. Nikdy nemohl takovyto kod fungovat mimo formular. A jsi liny si
vygooglovat funkcni reseni. Pripadne jsi to ani nezkousel.
Predevsim mi neni jasne, proc jsi nepouzil setInterval, ktery se spousti
opakovane sam.
<form>
<br>Status <span id="status"></span>
<br>Output <span id="output"></span>
<br><input type="button" id="startPause" onclick="rrr.func.startPause()" value="startPause">
</form>
<script>
var rrr = {};
rrr.timer = null;
rrr.time = 0;
rrr.running = 0;
rrr.el = {};
rrr.el.status = document.getElementById("status");
rrr.el.button = document.getElementById("startPause");
rrr.el.output = document.getElementById("output");
rrr.func = {};
rrr.func.status = function (type){
var el, item_all, item;
el = rrr.el;
item_all = {
start : {text: "Resume" , color:"green"},
stop : {text: "Paused" , color:"red" },
reset : {text: "Reset" , color:"green"},
running: {text: "Running", color:"green"}
}
item = item_all[type];
el.status.innerHTML = item.text;
el.button.style.backgroundColor = item.color;
el.button.style.borderColor = item.color;
}
rrr.func.output = function (str){
var el;
el = rrr.el;
el.output.innerHTML = str;
}
rrr.func.startPause = function (){
var el;
el = rrr.el;
if(rrr.running == 0){
rrr.func.status('start');
rrr.func.start();
}
else{
rrr.func.stop();
rrr.func.status('stop');
}
}
rrr.func.reset = function (){
var el;
el = rrr.el;
rrr.running = 0;
rrr.time = 0;
rrr.func.output("00:00:00:00");
rrr.func.status('reset');
}
rrr.func.start = function (){
if(rrr.running == 1 || rrr.timer!=null){
rrr.func.stop();
}
rrr.running = 1;
rrr.timer = setTimeout("rrr.func.running()", 100);
}
rrr.func.stop = function (){
rrr.running = 0;
if (rrr.timer!=null) clearTimeout(rrr.timer);
}
rrr.func.running = function (){
var el, time;
el = rrr.el;
rrr.time++;
time = rrr.time;
var mins = Math.floor(time/10/60);
var secs = Math.floor(time/10 % 60);
var hours = Math.floor(time/10/60/60);
var tenths = time % 10;
if(mins < 10){
mins = "0" + mins;
}
if(secs < 10){
secs = "0" + secs;
}
rrr.func.status('running');
rrr.func.output(hours + ":" + mins + ":" + secs);
rrr.func.start();
}
rrr.func.reset();
rrr.func.startPause();
</script>
jo, tam by to slo napsat i takhle
rrr.timer = setTimeout(rrr.func.running, 100);
Je mozne, ze to, co popisujes jako kod mimo formular, takovy kod tu preci nikde neni uvedeny, je uplne jiny kod. Uplne jiny kod samozrejme fungovat muze. Ale tento v zadnem pripade. Tam je fakt tolik zasadnich chyb...
Děkuji,
tento kód jsem našel na internetu a trochu předělal ale chybně, děkuji za
opravu, s javascriptem začinám.
jenom se chci zeptat když v tomto kódu od Vás
<br>Output <span id="output"></span>
to id="output" nejde zobrazit jinde než v <span>?
chtěl jsem to umístit do input ale tam mi to nefunguje měl jsem za to že kam
vložím to id="output tam se mi zobrazí čas.
po zastavení času bych potřeboval formulář s časem odeslat do databaze
přes php
Děkuji
<span>el.innerHTML</span>
<div>el.innerHTML</div>
<form>
<textarea>el.value</textarea>
<input value="el.value">
</form>
Njn. Tak znova. Nefunguje ti ten kod, protoze tam mas spoustu chyb. Nevim,
zda ma smysl ti kazdou z nich vysvetlovat...
Chyba 1
document.getElementById("output").value = "00:00:00:00";
document.getElementById("startPause").style.backgroundColor = "green";
document.getElementById("output").value = hours + ":" + mins + ":" + secs ;
// Pokousis se zapisovat to 3 elementu, ale v html kodu mas 1.
<input type="text" id="outpust" name="pocetHodin" onclick="stastPause()" />
Chyba 2 (zminil Simon)
<input id="outpust"
.getElementById("output")
Asi preklep pri psani id.
A potom jeste asi dalsich 20.
--
Jesli mas Firefox, tak si spust ctrl+shif+k (nastroje > vyvoj webu > webova konzola). Pak nacti tu stranku a v tom okenku ti zobrazi kazdy problem, ktery mu brani v pokracovani na dalsi radek js kodu (tim asi 2/3 chyb dokazes odstranit)
Já jsem to zkoušel s kódem co si poslal výše akorát jsem tam vymazal řádek
rrr.func.startPause();
aby se to automaticky nezapínalo po načtení stránky. U tvého kódu mi to nejde vložit do input to
id="output"
Děkuji
Se spis zeptej, ktera z tech veci konkretne ti neni jasna.
Ja to jen prepsal do jakesi objektove struktury. Ty puvodni funkce by take sly
pouzit. A prito jsem narazil na dalsi chyby, nahodne usporadane spousteni funkci
nebo naprosto spatna funkce. A samozrejme jsem vyhodil status (stav) do funkce,
abych nemusel opisovat 3 radky vsude.
Jo, ale to si prepis funkci output, aby pouzivala value misto innerHTML, ne?
To mi prislo, ze jako jedine z toho chapes 
el.output.innerHTML = str; //<span id="output"></span>
el.output.value= str; //<input id="output">
Mimochodem, ja bych treba pro pocitani casu pouzival casove razitko (google = js new date example). FF a i jine prohlizece se snazi zastavit nebo zpomalit js, kdyz se prepnes do druheho okna. Pak ti to bude pocitat chybne, jak mas ted ten kod.
Ok, tak mozna bych pouzil oboji. A nebo precetl cas ze serveru (z php).
Vis, kdyby se pokusil uzivatel podvadet. Je mozne si zmenit v pc cas. A new date
cte cas z pc uzivatele.
děkuji
tak daleko jsem ještě nedošel tady na itnetwork v kurzu jsem na 8.lekci
základů a to je až v 9.lekci.
Pracuji z javascriptem za pochodu bez toho abych to měl přečtené celé.
Děkuji za pomoc
děkuji
tak daleko jsem ještě nedošel tady na itnetwork v kurzu jsem na 8.lekci
základů a to je až v 9.lekci.
Pracuji z javascriptem za pochodu bez toho abych to měl přečtené celé.
Děkuji za pomoc
ještě se zeptám je možné použivat v javascript stly co jsou přes css
framework?
použivám semantic-ui a tam si v html zadám třeba stylovaní icon
<div class="ui play icon">
</div>
je možné tohle udělat i v javascriptu?
děkuji
el.className = "ui play icon";
google = js class change example
Zobrazeno 15 zpráv z 15.