| 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: 14 let
|
|||
0