IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Jan Lorenc
Člen
Avatar
Jan Lorenc:21.3.2018 18:49

Ahoj, začínám s JavaScriptem a mám pár dotazů ohledně poměrně jednoduchých a základních, nicméně z mého pohledu nepochopitelně nefunkčních příkazů. Vybral jsem si zpracování formuláře, jako vhodný "projekt" na začátek a nefungují následující věci:

var jmeno = document.getElementById("jmeno").value;
alert("jmeno");

nic to nedělá, pokud mám jen document.getE­lementById("jme­no") a až v alertu jmeno.value, tak v pořádku, fungovat by měl však i předchozí, netuším kde je problém
další se jednají zpracování inputu radio a checkbox:

// input type=radio
if(document.getElementById("pohlavi-muz").checked)
pohlavi= "Muž";
else
pohlavi= "Žena";

// input type=checkbox
if(document.getElementById("chci-zpravy-od-uzivatelu").checked == true)
var zpravyOdUzivatelu = "Chci dostávat zprávy od jiných uživatelů";

u prvního to absolutně ignoruje podmínku v IFu ať už je muž zaškrtlej nebo ne, vždy to hází ženu, přitom je to napsané správně(ověřeno z mnoha zdrojů)
u checkboxu to zase naopak vždy bere jako zaškrtnuto, i když není ... v obou případech jsem zkoušel všechno možné(==true i u radia, i když není třeba, místo true dávat jedničky a spoustu dalších identických řešení) a nic
...posledním problémem je zápis údajů z formuláře do textového dokumentu

var dokument = fopen("C:Udaje.txt", 3);   //otevření dokumentu pro psaní
if(dokument!=-1)                                         // pokud se dokument otevře, tak...
  {
  var str="jmeno";
  fwrite(dokument, str);                                //napiš "jmeno" do dokumentu
  fclose(dokument);                             //zavři dokument
  }

tento kód mám z jedné stránky, protože psaní do jiných dokumentů přesahuje moje schopnosti, nicméně kód se mi zdá validní a přesto nefunguje...co je na něm špatně, popřípadě jak psát do jiných dokumentů?

Moc děkuji za odpovědi a kdyby někdo ještě poradil, jak si nějak efektivně ověřovat JavaScript kód, byl bych moc vděčný. Kupříkladu toto je podle konzole i internetových validátorů v pořádku, ale nefunguje to. Dále i když vím, že se nejedná o kompilovací jazyk, tak přece jen snad musí existovat nějaký způsob kontroly, protože takhle jen co jen jedna věc neladí, i když je syntakticky dobře, script se vůbec nespustí a nelze tedy ani na výsledku hledat sémantické nedostatky a v tom kódu je to značně na dlouho, neboť člověk ani neví kde vlastně hledat, když se to nespustí vůbec. Prakticky teď ověřuji po každých dvou napsaných řádcích, jestli to dělá, co chci.

 
Odpovědět
21.3.2018 18:49
Avatar
Neaktivní uživatel:21.3.2018 20:37

alert("jmeno") vypisuje retezec jmeno, pokud chces vypsat obsah promenne jmeno -> alert(jmeno) bez uvozovek

https://jsfiddle.net/…ll/tywwtbnx/
otevri konzoli a klikej si do checkboxu, kazdou sekundu se vypise jestli checked nebo ne - tezko rict, kde mas chybu

https://developer.mozilla.org/en-US/search?…
evidentne zadna funkce fopen neexistuje

javascript v browseru ti umoznuje vzit string/blob a podobne a udelat z nej stahnutelnej soubor, neumoznuje ti otevirat soubory na disku jinak nez pres input type='file'
nodejs to umi ale to bezi na serveru

Editováno 21.3.2018 20:39
Nahoru Odpovědět
21.3.2018 20:37
Neaktivní uživatelský účet
Avatar
Jan Lorenc
Člen
Avatar
Jan Lorenc:21.3.2018 21:05

Díky za osvětlení práce s tím dokumentem. S tím alert(jmeno) se omlouvám, mám tu chybu, v kódu to mám bez uvozovek, ale přesto to bez .value nebere. Ty checkboxy a radio stále netuším. Když si alertem ověřím hodnotu, vypisuje to true, tak jak má, nicméně ten IF to prostě nebere.

 
Nahoru Odpovědět
21.3.2018 21:05
Avatar
Jan Lorenc
Člen
Avatar
Jan Lorenc:22.3.2018 17:29

Už jsem na ty inputy přišel, neměl jsem to uvnitř funkce na zpracování tlačítka, tam už to funguje dobře, nevím ale, proč si ty proměnné např. to pohlavi nemůžu podmíněně definovat i mimo funkci ...jinak teda jestli dobře chápu vzít ty hodnoty z formuláře a zapsat je do jiného souboru(ať už existujícího, nebo že by vytvořil, jako třeba v C) čistej JavaScript neumožňuje?

 
Nahoru Odpovědět
22.3.2018 17:29
Avatar
Odpovídá na Jan Lorenc
Neaktivní uživatel:22.3.2018 19:21

JavaScript umožňuje na klientu stvořit soubor a nechat ho uživatele pak stáhnout. Takže to jde, ale funguje to jinak než v céčku, hodně jinak.

OT: Doporučuji ti používat tlačítko odpovědět, aby lidi na které mluvíš dostali notifikace.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
22.3.2018 19:21
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.