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.

Člen

Zobrazeno 15 zpráv z 15.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
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.