Autor Zpráva
Monkeys
Profil *
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
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 *
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
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 *
_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
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ý.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: