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:
  1. function dis_click(id) {  
  2.     for (x=id;x<id+3;x++) {  
  3.         document.getElementById(x).style.backgroundColor="red";  
  4.         document.getElementById(x).innerHTML="foglalt";  
  5.         document.getElementById(x).onClick='';    
  6.     }  
  7. }  
Ilyenkor id=10-nél csak a 10-es nem klikkelhető többé. 11, 12 nyugodtan megy.

Elkezdtem fát vágni:
  1. var ig=20;  
  2. function dis_click(id) {  
  3.     document.getElementById(id).style.backgroundColor="red";  
  4.     document.getElementById(id).innerHTML="foglalt";  
  5.     document.getElementById(id).onClick='';  
  6.     if (id<ig-1) { dis_click(id+1);}  
  7. }  
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:
  1. for (var x=id;x<id+3;x++)  
Az onClick helyett onclick, és
  1. document.getElementById(x).onclick=function(){return false};  
Esetleg még ez, de nem hiszem:
  1. function dis_click(id) {  
  2.    id = Number(id)  
  3.    ...  
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)