Autor Zpráva
WertriK
Profil *
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
<input type="button" OnClick="funkce('policko1');">
PerToon
Profil
A musí se to jmenovat přesně name?
Mistr
Profil
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 *
Toto je jen priklad, muze se to jmenovat vselijak .....
ah01
Profil
Mistr: name neni kličový slovo JavaScriptu

v tom příkladu jde o to, že tam chybí uvozovky
Mistr
Profil
ah01
Hmm...
WertriK
Profil *
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
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
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 *
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 *
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 *
http://www.volny.cz/peter.mlich/hry/hry.htm#h21
peta
Profil *
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
Toto téma je uzamčeno. Odpověď nelze zaslat.