Autor | Zpráva | ||
---|---|---|---|
WertriK Profil * |
#1 · Zasláno: 22. 1. 2006, 20:56:23
Cau,
narazil jsem na problem (jak jinak :) ) mam fci a u ni parametr ten paramet je jmeno(id) policka u ktereho se ma zmenit value function funkce(name) { document.getElementById(name).value = name; } <input type="hiddne" id="policko1" value="prvni hodnota"> <input type="button" OnClick="funkce(policko1);"> tato fce by mela zmenit obsah policka se jmenem name na hodnotu promenne name, ale nestane se tak a konzole ve FF napise Chyba: document.getElementById(name) has no properties Jak tedy rict JS ze name neni jmeno policka ale promenna ? |
||
ah01 Profil |
#2 · Zasláno: 22. 1. 2006, 20:58:33 · Upravil/a: ah01
<input type="button" OnClick="funkce('policko1');">
|
||
PerToon Profil |
#3 · Zasláno: 22. 1. 2006, 21:58:53
A musí se to jmenovat přesně name?
|
||
Mistr Profil |
#4 · Zasláno: 22. 1. 2006, 22:07:30
WertriK
Bojím se, že to asi nepůjde. JavaScript má některá slova vymezená pro sebe a ty nelze použít. Myslím, že podobné by to bylo s proměnnou například alert apod. |
||
WertriK Profil * |
#5 · Zasláno: 22. 1. 2006, 22:09:15
Toto je jen priklad, muze se to jmenovat vselijak .....
|
||
ah01 Profil |
#6 · Zasláno: 22. 1. 2006, 22:13:28
Mistr: name neni kličový slovo JavaScriptu
v tom příkladu jde o to, že tam chybí uvozovky |
||
Mistr Profil |
#7 · Zasláno: 22. 1. 2006, 23:23:55
ah01
Hmm... |
||
WertriK Profil * |
#8 · Zasláno: 22. 1. 2006, 23:40:55
ah01
nerekl bych ... Jde o to ze JS nebere "cokoliv" jako promennou ale jako retezec a proste zadny takovy prvek na strance nenajde. function funkce(cokoliv) { document.getElementById(cokoliv).value = cokoliv; } |
||
habendorf Profil |
#9 · Zasláno: 22. 1. 2006, 23:46:52 · Upravil/a: habendorf
Já teda nevím, ale mě to normálně funguje. Vyzkoušej
function funkce(cokoliv) { document.getElementById(cokoliv).value = cokoliv; } <input id="nevolte-socany" onclick="funkce('nevolte-socany')"> nebo <input id="nevolte-socany" onclick="funkce(this.id)"> |
||
ah01 Profil |
#10 · Zasláno: 23. 1. 2006, 10:38:06
Tak ještě jednou. Metoda getElementById(id) bere jako parametr řetězec obsahující id elementu. Ten název v příkladu od WertriK obsahuje proměnná name (name není klíčové slovo jazyka, a proto ho jako název proměnné můžeme klidně použít). Do teď je ten kód v pořádku. Problém nastává při volání
<input type="button" OnClick="funkce(policko1);"> jako parametr při volání předáváte nějakou proměnou policko1, ale žádná taková proměnná neexistuje -> a proto ta chyba. Aby to fungovalo, musíte id předat jako řetězec (v uvozovkách): <input type="button" OnClick="funkce('policko1');"> |
||
peta Profil * |
#11 · Zasláno: 23. 1. 2006, 15:00:48
ah01
Ja bych jenom doplnil, za zakladem je umet si vypsat hodnotu promenne... function funkce(name) { document.getElementById(name).value = name; } ===> function funkce(name) { document.write(" name = "+name); /*document.getElementById(name).value = name;*/ } |
||
WertriK Profil * |
#12 · Zasláno: 23. 1. 2006, 17:07:53
Mam to na http://adamek.hruza.name/tmp/puzzle.html . Zkousel jsem uz vsecko mozne a stale to pise ze to ten prvek nenaslo resp. ze ten prvek nema zadne vlastnosti nebo neco takoveho.
Je to tento radek 36 : document.getElementById(pozice).value = ... (ted uz nevim co jsem tam napsal) |
||
peta Profil * |
#13 · Zasláno: 23. 1. 2006, 18:42:07
|
||
peta Profil * |
#14 · Zasláno: 23. 1. 2006, 18:51:30
WertriK
1. schazi ti tam definovat TAH, var tah (hlasi konzola JS) 2. co je tohle za vymysl? name = "input"+pozice; document.getElementById(name).value=document.images[pozice].src; Proc to chces jako davat do inputu? Tak to dej do pole, ne? Mimo to ty inputy mas nazvane: <td><input type="hidden" Id="inputp11"></td> "inputp" + cislo 3. <input type=button value="Zamíchej" OnClick="zamichej();"> validator hlasi, ze se nesmi nachazet jen tak v body, button patri pod form. http://peter-mlich.wz.cz/x/ww/html/tagy1.htm |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0