ugrás a tartalomhoz

js onclick

bekafej · 2007. Feb. 8. (Cs), 16.27
Üdv

Kerestem hasonló témát, de nem találtam.
Szóval van egy pár <td> elemem, amelyek közül párnál le kéne tiltani az onClick-et.
Teljesen lecsupaszított kód:

function dis_click(id) {
	for (x=id;x<id+3;x++) {
		document.getElementById(x).style.backgroundColor="red";
		document.getElementById(x).innerHTML="foglalt";
		document.getElementById(x).onClick='';	
	}
}
Ilyenkor id=10-nél csak a 10-es nem klikkelhető többé. 11, 12 nyugodtan megy.

Elkezdtem fát vágni:

var ig=20;
function dis_click(id) {
	document.getElementById(id).style.backgroundColor="red";
	document.getElementById(id).innerHTML="foglalt";
	document.getElementById(id).onClick='';
	if (id<ig-1) { dis_click(id+1);}
}
Igy tökéletesen működik. Azaz, ha indirekt az adott id-ről van meghívva az onClick, akkor mükszik. Szerintem.
Valamit nagyon rosszul látok, van vmi általam ismeretlen JS móka, ami miatt ez így van?
 
1

hmm

bekafej · 2007. Feb. 8. (Cs), 16.31
Sorry, lehet rossz helyre küldtem a postot, nem PHP-hoz akartam.

Ja, és még valami:
Azért is hagytam benne a kódban a style és az innerHTML-t, mert az már az első esetben, fabávásom nélkül is működik. Miért más akkor az onClick?

(tétard)
2

Több lehetőség

siposa · 2007. Feb. 8. (Cs), 23.39
Próbáld az x elé a var-t:
for (var x=id;x<id+3;x++)
Az onClick helyett onclick, és
document.getElementById(x).onclick=function(){return false};
Esetleg még ez, de nem hiszem:
function dis_click(id) {
   id = Number(id)
   ...
3

ez lesz az

bekafej · 2007. Feb. 9. (P), 13.48
Na, tudtam én, hogy inkább bennem van a hiba, mint a JS-ben.

Jean azt is megmondja, mi a különbség (onClick vs onclick).
http://www.faqts.com/knowledge_base/view.phtml/aid/13901

Rémisztő :)

Köszi a segítséget.

(tétard)