dynamiczny obiekt

0

witam mam 2 pytanka co do dynamicznego obiektu w JS. Prosta funkcja przedstawia sie nastepujaco :

		function SetInput(param_id)
		{
	        var uchwyt = document.getElementById("count_art_"+param_id);	
		    element = document.createElement("input");
			
			if (document.getElementById('chbox2_'+param_id).checked == true)
			{
			    element.setAttribute("name", "setcount");
			    element.setAttribute("type", "text");				
			    element.setAttribute("value", "0");
			    element.setAttribute("size", "10");
			    element.setAttribute("style", "border:1px solid red");
			    element.setAttribute("id", "count_art_"+param_id);
			    
			    uchwyt.appendChild(element);
			} 
			else
			{
				; //usun obiekt
			}
		}
  1. dlaczego 'style' nie dziala w IE
  2. jak usunac ten obiekt, po odznaczeni checkboxa
0
  1. element.style.border='1px solid red'; a zadziała pod każdą przeglądarką (z obsługujących CSS i JS).
  2. uchwyt.parentNode.removeChild(uchwyt);
0

Sluchajcie dzieje sie cos dziwnego pod IE, za pierwszym kliknieciem pojawia sie input, jak i po odznaczeniu ale nastepny raz juz w ogóle sie nie pojawia....

Blad: 'null' jest pusty lub nie jest obiektem- wymagany obiekt

nie rozumiem, przeciez musi stworzyc obiekt gdy funkcja zostaje ponownie wywolana czyz nie ?

0

Witam , przekazuje jeszcze raz cala funkcje:

		function SetInput(param_id,id_art)
		{				
	        var uchwyt = document.getElementById("count_art_"+param_id);	
		    element = document.createElement("input");
			
			if (document.getElementById('chbox2_'+param_id).checked == true)
			{													    				
			    element.setAttribute("name", "setcount["+id_art+"]");
			    element.setAttribute("type", "text");				
			    element.setAttribute("value", "");
			    element.setAttribute("size", "12");
			    element.setAttribute("id", "count_art_"+param_id);
			    element.style.border='1px solid red';
			    element.style.height='14pt';
		    
			    uchwyt.appendChild(element);
			} 
			else
			{
				//usun obiekt
				uchwyt.parentNode.removeChild(uchwyt);
			}
		}	

problem w IE z obiektem po ponownym wybraniu tego obiektu. Moze ktos wie o co chodzi z ta przegladarka ????

0

a z HTML wywoluje to z takiego kodu :

//tutaj z checkboxa wywoluje te funkcje

<input id="chbox2_{$id_tmp}" type="checkbox" name="chbox[]" value="$tab_tree[0]" onClick="SetInput({$id_tmp},{$tab_tree[0]})" />

//rzuca sie o ten obiekt ( count_art_{$id_tmp} ) => uchwyt w JS

  ";
0

Spójrz na wygenerowany kod html, a nie na mieszanke z php.

0

Duzo mi to nie daje, bo jest tak jak ma byc, problem zaczal sie gdy zaczolem usuwac 'uchwyt' za pomoca funkcji removeChild

0

bo uchwyt znika w momencie wywolania removeChild. Jakbyś spojrzał zamiast bezmyślnie kopiować, to byś zauważył że usuwany jest uchwyt a nie element :> Sam się pomyliłem w kodzie wyżej.

uchwyt.removeChild(uchwyt.childNodes[0]);

0

Znam JS "piate przez dziesiate" dla mnie ten jezyk jest walniety i to zdrowo. Ale dzieki za pomoc

Wiem ze sie pomyliles inaczej bym nie siedzial godzinami nad wyszukiwaniem w sieci rozwiazania

Jeszcze raz dzieki...

1 użytkowników online, w tym zalogowanych: 0, gości: 1