Problém s Javascriptem kod (náhled)
Dobrý den chtěl jsem se zeptat dělám si takovej kod (kopirovano a upraveno z Interval) a potřeboval bych poradit .Snažim se udělat takový náhled na vložené údaje z inputu.Jakmile zmáčknu písmeno(znak) a pustím klávesu má se provést funkce která tento znak zapíše do <div>.
Ale nějak mi to nejede . Nevíte někdo co s tím ?
<html>
<head>
<script type="text/javascript">
var data;
function Update(form,todiv)
{
data+=form.clanek.value +"\n"; //prida obsah inputu clanek do promenne data
todiv.nadpis1.innerHTML= data;
}
</script>
</head>
<body>
<form method="POST" name="form1">
<input type="text" id="clanek" onKeyUp="Update(this.form,nahled)" name="clanek" size="30">
</form>
<br><br>
<div id="nahled" name="nahled">
ZDE:<div id="nadpis1"></div>
</div>
</body>
</html>
Když tak to zkouším zde : http://www.w3schools.com/js/tryit.asp?filename=try js_events
Díky moc za rady.
ty je to je hustý dík. Radši to ještě necháme otevřené možná že budu potřebovat ještě něco. Ale každopádně díky moc.
Ještě jeden dotaz . Mám pomocí php uděláno to že když napíšu do inputu "číslo počtu obrázků" a kliknu na OK php mi vypíše x inputů dle zadaného čísla. A já bych chtěl udělat to samé jako výše pro tyto obrázky.To co jsem zkoušel je níže.
Popis: Napíšu číslo do inputu s id="cislo_obr" poté kliknu na OK, php mi vytvoří příslušný počet inputů dle zadaného čísla.
Do těchto inputu pak zadávám odkazy na obrázky.Zároveň javascript zjistí toto číslo (pomocí funkce Update_2) a uloží ho do proměnné "z".Poté (pomocí funkce Update) s použitím for navyšuje hodnotu proměnné y dokavaď se nerovná z , při tomto navyšování provádí (výše uvedený skript):
1)Zjistí input s číslem obrázku a hodnotu ulozi do promenne "data_obr".
2)Zjistí element s id= cislo + promenna y a zapíše do něj promennou "data_obr".
Kdybyste nepochopily ještě přidávám skript.Otázka je proč mi to nefunguje , či jak to mám udělat .
Mockrát děkuji za rady a za váš čas.
Otázka nie je, prečo ti to nefunguje, ale prečo by to malo fungovať.
1. form.getElementById - myslel si document.getElementById?
2. Vo funkcii Update_2 máš v komentári napísané, že niečo priraďuješ do premennej z. Faktom je, že premennú z priraďuješ do niečoho. Keďže si do nej nepriradil žiadnu hodnotu, tak je tam undefined.
3. Vo funkcii Update pracuješ s premennou z, ktorú si nikde nedeklaroval. Môžeš premennú z deklarovať globálne - potom by to možno niečo spravilo. Ale keďže nikde nič do nej nepriraďuješ, tak je to jedno.
4. Používaš premennú data_obr, ako keby to bola globálna premenná, pritom ti stačí lokálna.
5. form.cislo+y.value - chcel si napísať form['cislo' + y].value?
6. Si si istý, že chceš použiť innerHTML, t.j. ak niekto zadá HTML, má sa v náhľade vyrenderovať HTML alebo text?
7. Používaš globálnu premennú nahled, aby si získal prístup k prvku s id=nahled. Takéto niečo bolo odpustiteľné možno pred 10 rokmi.
To boli tie väčšie chyby, ešte si rýpnem do tých menších:
1. Atribút language="JavaScript" - to je z minulého storočia?
2. Názvy funkcií Update, Update_2 - okrem toho, že nedodržiavaš konvencie sú tie názvy dosť ničnehovoriace. Vstupný prvok name="z", srsly?
3. Komentáre typu "i = 1; // priradí jednotku do premennej i" - ::facepalm::
4. Inline zápis JS v HTML kóde sa dá prirovnať inline zápisu štýlov v HTML kóde - funguje to, ale nie je to dobre.
5. Ak plánuješ, že ten náhľad bude fungovať len s JavaScriptom, tak do toho nemiešaj server. Buď to sprav najprv tak, aby to fungovalo čisto serverovo, alebo to sprav rovno len s využitím JS.
Aby to nebolo, že len frflem, tak tu je nejaký nástrel čisto JS verzie toho, čo si myslím, že chceš dosiahnuť:
No dík. TO je přesně ono co jsem chtěl. Ale ještě bych tě chtěl poprosit.Jelikož na ten tvůj kod čumim jak deb*l. Tak když napíšu text do těch vygenerovanejch inputů, tak se mi zobrazí ale tam příjde odkaz na obrázek tzn.:<img src=""> a ono to napíše jako text potřeboval bych to jako HTML.(aby se mi ten obrázek zobrazil).A ještě maličkost potřeboval bych každýmu inputu přiřadit name="cislo+y" (y je promenna, od 1-6 dle počtu obrázků.) .Vím že otravuju a že bych si to měl udělat sám já bych to zkusil ale ten tvůj kod funguje prefektně a já na něj jen valim oči (v javascriptu moc nedělám , spíš v php).
Ještě jednou děkuji mnohokrát.
Zkus u tagu img použít místo ostrých šipek <> odpovídající entity a případně escapovat uvozovky pomocí lomítka, pokud to bude potřeba.
Takéto niečo?
jj to je přesně ono, ještě malý dotaz nemáš tento kod s komentářema (kde co je) ?
Mě by se to hodilo abych poznal kde se co mění atd...
Chci se do toho dostat abych to pak uměl.
Jinak fakt moc dík, takovou odezvu jsem nečekal. Je vidět že jsou i lidi kteří velmi rádi pomůžou.
Díky moc.
To se často nevidí, ale komentáře byly delší než kód samotný.
Něco pro pobavení (+komentáře pod článkem):
http://zaachi.blog.zive.cz/2008/08/vtipne-komentar e-zdrojoveho-kodu/
Dik moc a ty komentáře fakt dobrý značim jako vyřešené
Zkoušej to přímo v prohlížeči a zapni si chybovou konzoli...
No to jsem udělal jak si řekl ale jak mám dostat místní proměnnou "z" z funkce Update_2 do funkce Update.
A když jsem dal jen tak pro vyzkoušení do funkce Update : var z = 2; tak to stejně když na to kliknu píše vždy NaN.
Nevíte ?
Asi dneska nemám den, ale pořád jsem nepochopil, čeho vlastně chceš dosáhnout.