Autor | Zpráva | ||
---|---|---|---|
Monkeys Profil * |
#1 · Zasláno: 28. 12. 2012, 02:04:41
Zdravim
potrebujem poradit co robim zle: Cielom je po kliknuti na checkbox aktivovat textovy input. JS: function enable_text(status, n) { status = (status) ? false : true; obj="Inp" + n + ""; //alert(obj); document.forms[0].getElementById(obj).disabled = status; HTML: <input name="check[]" type="checkbox" value="" onclick="enable_text(this.checked,0)" id="hotovost"/> <input name="Inp[]" type="text" disabled="disabled" id="Inp0" value="Poznámka"/> <input name="check[]" type="checkbox" value="" onclick="enable_text(this.checked,1)" id="hotovost"/> <input name="Inp[]" type="text" disabled="disabled" id="Inp1" value="Poznámka"/> .... stele mi to hlasi chybu ale ked si to vypisem cez alert tak to vyhodi spravne cislo inputu Vdaka M. |
||
preca1 Profil |
#2 · Zasláno: 28. 12. 2012, 09:22:41
Zdravim,
jakou chybu ti to vypisuje? TypeError: document.forms[0].getElementById is not a function ?
document.getElementById(obj).disabled = status; Nebo snad tu, že ti chybí ukončovací závorka? Jinak status = (status) ? false : true; se dá nahradit !status
|
||
Monkeys Profil * |
#3 · Zasláno: 28. 12. 2012, 10:01:09
vyriesil som to nakoniec cez jQuery:
JS: $(function(){ var check = $('.toggle'); for(var i=0; i<5; i++){ $('#Inp'+i).attr('disabled',true); } check.click(function(){ check.each(function(e){ if(this.checked){ $('#Inp' + e).removeAttr('disabled'); $('#Inp' + e).focus(); }else{ $('#Inp' + e).attr('disabled',true); } }); }); }); HTML: <input name="check[]" type="checkbox" class="toggle" value="" id="hotovost"/> <input name="Inp[]" type="text" id="Inp0" value="Poznámka"/> <input name="check[]" type="checkbox" class="toggle" value="" id="kredit"/> <input name="Inp[]" type="text" id="Inp1" value="Poznámka"/> ... preca1: Pise mi to Object doesn't support this property method Ked som si to cislo inputu vypisal cez alert tak to sedelo s ID textoveho inputu. Neviem preco to nefunguje. M. |
||
_es Profil |
#4 · Zasláno: 28. 12. 2012, 18:28:13
Monkeys:
„Pise mi to Object doesn't support this property method“ No lebo getElementById je metódou objektu document a nie objektu formulára, čo ti však už v [#2] radil aj preca1.
|
||
Monkeys Profil * |
#5 · Zasláno: 29. 12. 2012, 10:51:05
_es:
a objekt dokument nezahrna aj formulare? Chapem.to.tak ze document je vsetko co sa nachadza na stranke, teda aj formulare. M. |
||
_es Profil |
#6 · Zasláno: 29. 12. 2012, 11:09:11
Monkeys:
Je objekt document s určitými vlastnosťami a metódami: developer.mozilla.org/en-US/docs/DOM/document#Methods
a je objekt formulára so svojimi vlastnosťami a metódami: developer.mozilla.org/en-US/docs/DOM/HTMLFormElement#Methods - vidíš tam niekde metódu getElementById ?
Okrem toho by to nemalo praktický zmysel, lebo atribút id má byť v rámci dokumentu jedinečný.
|
||
Časová prodleva: 12 let
|
0